https://www.acmicpc.net/problem/3197
http://boj.kr/ec1a147f9c9a4c94a99c543eabb90f60
우선순위 큐를 이용해서 풀어봤는데 64%에서 틀렸다고 떠요.
동작 순서는 입력 때 백조와 물을 water 벡터에 넣고 bfs_water에서 몇 일 만에 녹는지 계산을 미리 해둡니다.
그리고 bfs_bird에서 백조 1과 백조 2의 좌표를 넣고 bfs를 돌립니다. 이때 v[][]배열에 .first에는 값을 저장하고 .second에는 1과 2를 넣어 백조를 구분했습니다.
다음 탐색 좌표의 v[][].first 값이 0이 아니고 v[][].second 값과 큐에 마지막에 저장해둔 값이 서로 다르면 두 백조가 만나므로 값을 출력하고 종료합니다.
다음 탐색 좌표가 이미 녹아 있다면( '.'이거나 w[][]에 저장된 값이 현재 값 이하인 경우) 현재 값을 넣어주고 녹여야 되는 경우( 'X'인 경우) v[][]배열에 현재 값+1을 해주고 큐에 추가 합니다.
어디서 오류가 나는 걸까요 ㅠㅠ 고수분들 도와주세요
병신 ㅋㅋ
굳이 그렇게 말 해야하냐
두번째 bfs에서 백조를 한마리만 움직이게 바꾸니까 맞았습니다. 코드 봐주신 분들 감사합니다.