[Python/BFS] BOJ-16236 아기상어
*풀이참고 링크에 들어가서 보시면됩니다.
아기상어가 물고기를 잡아먹는 시간을 계산하면된다. 조건이 까다롭다.
아래처럼 접근해보자. 2-3-4를 계속 반복하며 먹을 물고기가 없을 경우 종료하면된다.
- 아기상어 위치를 체크 (9 -> 0으로 변경)
- visited 배열, fish 배열을 초기화
- 동일한 거리가 떨어진 물고기 위치를 체크 (여러마리가 존재 할 수 있음)
- 물고기가 여러마리일 경우, 왼쪽에 있는 것을 먼저 먹고 다시 먹을 물고기를 탐색
*먹을 물고기를 찾기위해 이미 갔던 곳을 다시 방문 할 수 있다.
visited 배열을 새 물고기를 찾을 때마다 초기화 시켜야한다.
BFS solution
1 | |