본문 바로가기

알고리즘 문제/구현8

[개쉬운 풀이] 백준 9017 크로스 컨트리 (6일차) https://www.acmicpc.net/problem/9017 문제 생각먼저 문제에서 주어진 조건들을 모두 찾아야한다.1. 팀은 6명으로 구성되어야 한다.2. 팀 점수는 상위 네 명의 주자의 점수를 합하여 계산한다.3. 점수는 자격을 갖춘 (6명인 팀) 에게만 부여한다.4. 팀 점수가 낮은 팀이 우승한다.5. 팀 점수가 동률이면 5번째 팀원 중 더 빠르게 들어온 사람이 이긴다. 위 조건을 천천히 구현하면 된다. 풀이#include #include #include #include using namespace std;const int TEAM_SIZE = 6; // 팀의 인원 수const int MAX = 201; // 최대 팀 번호int N; // 참가자의 수vector ranking; .. 2024. 11. 27.
[개쉬운 풀이] 백준 2933 미네랄 (4일차) https://www.acmicpc.net/problem/2933 문제 생각1. 천천히 구현하면 된다.2. 왼쪽, 오른쪽을 구분해서 미네랄을 탐지해야한다.3. 행이 아래부터 0,0이기 때문에 구현할때는 평소 구현할때 Row를 뒤집어서 생각해야한다.4. 미네랄을 파괴시키고 그 주변 4칸을 클러스터 판별하자.5. 클러스터는 1개만 떨어진다.6. 클러스터에 해당하는 정보들을 저장해야한다.7. 클러스터가 떨어질때 ㄷ 자 모양같은 경우 위 클러스터와 아래클러스터가 떨어질 수 있는 범위가 다를 수 있다. //좋은 예시8. 따라서 모든 클러스터 정보에 대해서 떨어지는 경우를 구한 뒤, 최소값을 찾아서 떨어뜨려야한다. 풀이#include #include #include using namespace std;const i.. 2024. 11. 25.
[개쉬운 풀이] 백준 14503 로봇 청소기 https://www.acmicpc.net/problem/14503문제  생각1. 단순한 구현문제이다.2. 그러나 작동 종료 조건에서 바라보는 방향은 고정한 상태로 후진한다는 것을 이해해야 한다. 풀이#include #include using namespace std;const int MAX = 51;int N, M;int R, C, D; // 방향: 0(북), 1(동), 2(남), 3(서)int map[MAX][MAX]; // 벽: 1, 빈 공간: 0, 청소 완료: -1int dx[4] = {-1, 0, 1, 0}; // 행 이동int dy[4] = {0, 1, 0, -1}; // 열 이동int answer = 0;void input() { cin >> N >> M; cin >> R >> C.. 2024. 11. 8.
[개쉬운 풀이] 백준 1244 스위치 켜고 끄기 https://www.acmicpc.net/problem/1244문제1부터 연속적으로 번호가 붙어있는 스위치들이 있다. 스위치는 켜져 있거나 꺼져있는 상태이다. 에 스위치 8개의 상태가 표시되어 있다. ‘1’은 스위치가 켜져 있음을, ‘0’은 꺼져 있음을 나타낸다. 그리고 학생 몇 명을 뽑아서, 학생들에게 1 이상이고 스위치 개수 이하인 자연수를 하나씩 나누어주었다. 학생들은 자신의 성별과 받은 수에 따라 아래와 같은 방식으로 스위치를 조작하게 된다.남학생은 스위치 번호가 자기가 받은 수의 배수이면, 그 스위치의 상태를 바꾼다. 즉, 스위치가 켜져 있으면 끄고, 꺼져 있으면 켠다. 과 같은 상태에서 남학생이 3을 받았다면, 이 학생은 와 같이 3번, 6번 스위치의 상태를 바꾼다.여학생은 자기가 받은 수와.. 2024. 9. 16.