태그:
주어진 공간에 특정 크기의 물고기와 아기 상어의 위치가 주어지고, 문제에 의해 주어진 아기 상어의 행동 방법에 따라 아기 상어가 행동했을 때 걸리는 최소 시간을 구하는 문제입니다. 문제의 조건은
- 자기보다 작은 크기의 물고기만 먹을 수 있다.
- 자기와 크기가 같은 물고기는 먹을 수는 없지만 지나갈 수 있다.
- 자기보다 큰 크기의 물고기가 있는 곳은 지나갈 수 없다.
- 아기 상어는 먹을 수 있는 물고기의 위치 중 가장 가까운 곳으로 이동한다. 거리가 같은 곳이 있다면 가장 위쪽에 있는 곳, 높이가 같다면 가장 왼쪽에 있는 곳으로 이동한다.
- 아기 상어는 자신의 크기와 같은 수의 물고기를 먹으면 크기가 1 증가한다.
- 먹을 수 있는 물고기가 있을 때까지 움직인다.
입니다. 처음 4개의 조건은 그래프 탐색 시에 유용하게 사용될 조건이고, 그 다음 조건은 자기보다 작은 물고기의 조건이 아기 상어가 물고기를 먹을 때마다 바뀜을 의미하며, 마지막 조건은 탐색을 계속할 조건입니다. 이 조건에 따라 BFS를 이용하여 이동하는 거리를 모두 더해서 출력하면 됩니다.
소스 코드
언어 | 코드 | 시간 |
---|---|---|
C++ | 코드(Github) / 코드(백준) | 2020-12-26 14:46:35 |