[풀이]백준 (16917, 16918,16922)

수업내용 복습

문제풀이

[리뷰]아기상어(16236)

  • N*N 배열
  • 물고기 M마리 (한 칸에는 1마리만)
  • 아기상어 1마리
  • 상어, 물고기는 크기를 가지고 있다. (Tuple 사용?)

  • 상어는 크기 2로 시작, 1초에 상하좌우 1칸씩 이동가능 (dx, dy)

  • 더이상 먹을 수 있는 물고기가 없다면 아기상어는 엄마상어에게 도움을 청한다.
  • 먹을 수 있는 물고기가 1마리라면 그 물고기를 먹으러 간다.
  • 먹을 수 있는 물고기가 많다면 거리가 가장 가까운 물고기를 먹으러 간다.

  • 거리는 지나야하는 칸의 개수이다.
  • 거리가 같은 물고기가 있다면 가장위의 물고기를 그러한 물고기가 여러마리라면 가장 왼쪽에 있는 물고기를 먹는다.

(같은 거리에 있는 경우 왼쪽부터 ) (같은 높이에 여러마리 있는 경우 왼쪽부터)

«^ »^ »> 이렇게 있으면

  • 아기상어가 엄마에게 도움을 청할때 까지 걸리는 시간.

  • 왔던 곳을 다시 방문할 수 있다. 물고기를 잡아먹은 곳에서 함수를 실행해서 가능한지 안한지 판별 반복한다.

물고기 피해가는거 구현,,,, 크기가 같은 물고기는 지나갈 수 있다.

댓글남기기