연구소
풀이
https://www.acmicpc.net/problem/14502
- 반복
- 벽 3개 설치 => DFS
- 첫 번째 벽 어디 세울지 찾음 ( 첫번째 dfs 메소드 )
- for문 다 돌면, main을 돌아가
- 두 번째 벽 어디 세울지 찾음 ( 두 번째 dfs 메소드 )
- for문 다 돌면, ( 첫번째 dfs 메소드 )로 돌아가
- 세 번째 벽 어디 세울지 찾음 ( 세 번째 dfs 메소드 )
- 세우고, 바이러스 퍼뜨림
- 세번째 벽 세웠던거 초기화하고
- ( 두 번째 dfs 메소드 ) 로 돌아감
- 첫 번째 벽 어디 세울지 찾음 ( 첫번째 dfs 메소드 )
- 바이러스 퍼짐 => BFS
- 0의 개수 세기
- 벽 3개 설치 => DFS
- 0의 개수의 최댓값 구하기