https://www.acmicpc.net/problem/23290 문제이해 풀이 문제의 작업을 확인하고 처음에는 dict랑 1차원 배열로 접근했었다. 1차원 배열에는 물고기의 (y,x,direction)을 저장하고 dict에서 (y, x) 위치의 물고기 수를 저장했다. (상어가 이동할 때 최대로 많은 물고기를 잡는 경우를 계산하기 위해) 그러나 물고기가 이동하고 상어한테 잡혀서 물고기 위치 이동과 dict의 갱신이 싱크가 맞지않아서 고민하다가 결국 구글링해서 다른 풀이들을 봤다. 3차원 배열을 사용해서 (y, x)의 있는 물고기의 direction을 저장하는 방법이 있어 이것을 사용했고 기존 코드에서 수정하는 과정에서 DFS에서 마지막 상어의 위치를 결정할 때 visit으로만 방문 여부를 확인했기 때문에 (2.2) → (2.3) → (2.2) 이와 같은 경로를 이동하면 (2.2) → (2.3) 2개의 위치만 남게 되었고 이를 DFS 후에 반영하니 (2.3)이 마지막 위치가 되었다....
원문 링크 : [백준 23290] 마법사 상어와 복제