문제 https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 풀이 BFS + 구현으로 해결할 수 있었다. 처음에는 시간 -> 바이러스 종류 -> X좌표 -> Y좌표로 이루어진 4중 for문으로 해결하려다가 시간 초과가 나서 정렬을 통한 풀이로 방법을 바꿨다. 우선순위 큐를 하나 만들어주는데 이 큐가 3개의 자료형 (X좌표, Y좌표, 바이러스의 종류)를 담을 수 있도록 했다. 참고로 자료형 3개 이상을 담을 때는 tuple..
문제 https://www.acmicpc.net/problem/17129 17129번: 윌리암슨수액빨이딱따구리가 정보섬에 올라온 이유 첫째 줄에 정보섬 2층의 크기 n과 m이 주어진다. (1 ≤ n,m ≤ 3000, 4 ≤ n×m ≤ 9×106) 이후 n행 m열에 걸쳐 0, 1, 2, 3, 4, 5로만 구성된 Ai,j가 주어진다. Ai,j와 Ai,j+1사이에 공백은 주어지지 않는다. 2, www.acmicpc.net 풀이 BFS + 최단거리로 해결할 수 있었다. 거리를 저장할 배열인 dist와 정보섬의 값을 저장할 배열인 board를 만들어 board를 입력받았다. 이때 해당 정보섬 좌표의 값이 2이면 해당 좌표가 시작점이므로 startX, startY라는 변수에 담아주었다. 이후에는 dist의 배열을 ..
문제 https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 풀이 BFS 최단거리로 해결할 수 있었다. 지도를 관리할 2차원 배열인 board와 각 지점의 거리를 관리할 2차원 배열인 dist를 만들어서 지도를 입력받으면서 해당 좌표의 값이 2이면 그 좌표가 탐색의 시작점이므로 startX, startY라는 변수에 담아주었고, 만약 0이 나와 갈 수 없는 땅이라면 처음부터 거리 배열인 dist에 0을 넣어주..