BFS 12

16234번 - 인구 이동

문제 16234번: 인구 이동 (acmicpc.net) 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 1 이전에 예제로 풀었던 "음료수 얼려먹기" 문제와 유사하다. 어떤 노드에 대해 인접 노드가 특정 조건을 만족하면 방문하는 DFS나 BFS를 이용해 풀면 된다. 소위 "음료수 채우기" 가 완료되면, 방문한 모든 노드의 값을 평균을 내어 다시 할당해야 하는 작업도 추가적으로 해줘야한다. 이 작업은 연합 형성이 불가능할 때까지 반복한다. 대강의 설계가 끝났으니 구현에 들어갈 차례이다. 한 사이..

PS/백준 2022.07.21

14502번 - 연구소

문제 14502번: 연구소 (acmicpc.net) 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 1 먼저 문제를 어떻게 접근할지 생각해보자. 문제가 요구하는 것은, 빈칸에 3개의 벽을 세웠을 때 바이러스가 퍼지는 경우 중 최상의 상태 (빈칸이 가장 많이 남은 상태) 를 찾아 빈칸의 개수를 출력하는 것이다. 문제의 요구사항을 다음과 같이 나눠볼 수 있다. 빈칸에 3개의 벽을 세우는 모든 경우의 수 과정 1 이후에, 바이러스가 퍼졌을 때의 상태 과정 2 이후에, 남아있는 빈칸의 개수 결과 : 남아있는 빈칸의 최대 개수..

PS/백준 2022.07.16