14502 (1) 썸네일형 리스트형 [백준] 14502번 연구소 중복을 허용하지 않는 조합과 BFS를 활용하여 문제를 풀었다. 중복을 허용하지 않는 조합으로 벽 3개를 세운 뒤 BFS를 사용하여 바이러스를 퍼뜨린 후 안전 영역의 크기를 구했다. depth는 벽의 갯수를 의미하고 next는 다음 벽을 세울 위치를 뜻한다. 여기서 2차원 배열의 위치 next를 (i, j) 가 아닌 하나의 정수로 표현을 했다. 예를 들어, 3x3의 배열일 경우 위처럼 표현을 했다. 이중 for문에서 j의 시작을 0으로 한 이유는 만약 1번 위치에 벽을 세우고 2번 위치에 벽을 세우면 마지막 벽은 3번 위치에 세워야 하기 때문에 0부터 시작하게 했다. 하지만 i는 벽을 세워도 다시 위로 올라가는 일이 없으므로 시작을 next / M 으로 했다. checkVirus 함수는 바이러스를 모두 퍼.. 이전 1 다음