
문제 출처: https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 3차원 배열을 통해 검을 먹었을 때와 아닐 때를 구분해야 한다. 최단시간이고 N, M, T의 범위가 크므로 BFS탐색을 선택. 매번 이동할 때마다 검을 가지고 있는지 없는지를 확인 다음 좌표가 벽인 경우 검을 가지고 있는 경우 → 3차원 배열 체크 후 이동 검을 가지고 있지 않는 경우 → 이동 불가 다음 좌표가 길(==0) 일 경우 방문 체크하고 Queue에 넣는다. ..
문제 출처: https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net 2의 값을 가지는 좌표 중에 M개에 바이러스가 들어갈 수 있다. 4방 모두 동시에 퍼지므로 BFS! 조합을 통해 바이러스가 들어갈 공간을 구하고! 그 공간만 큐에 넣고 BFS돌려야하나?? 초기 의사 코드 좌표 값이 2 인 부분은 다 리스트에 넣는다. 조합을 통해 M개를 구한다. M개가 구해지면 새로운 지도를 만들고, 큐에 해당 M개의 좌표를 넣고 두 개를 BFS로 보낸다. BFS 돌릴 때마다 ..