sodp5   4년 전

로직은 이렇습니다.

1. 상근이가 가장자리에 있는 경우 1을 출력합니다.

2. 불꽃을 사방으로 번지게 합니다. (벽 제외)

3. 상근이는 방문한적 없는 곳 (불붙은 곳, 자신이 지났던곳을 제거하기 위함) 과 벽을 제외한 사방으로 이동합니다.

4. 이동할 공간이 출구인 경우 +1 한 후 종료합니다.

제가 미처 발견하지 못한 반례가 무엇이 있을까요?ㅠㅠ

myeongbo123   4년 전

입력

1
12 5
############
#.#....@..##
#....#.#...#
.#..##...##.
.#..#####.#.

correct answer : 8

your answer : 9

myeongbo123   4년 전

x=0 또는 x=X-1지점 또는 y=0 또는 y=Y-1 지점에 도달해도 주위에 갈 수 있는 지점을 살피고 큐에 넣어버려서 생긴 문제 같습니다.목표 지점에 도착하면 바로 while문을 빠져나가도록 수정하면 될 거 같습니다. 또한 endList는 딱히 필요가 없는게 '@'가 x=0 또는 x=X-1지점 또는 y=0 또는 y=Y-1 지점에 도달하기만 하면 바로 걸린 시간 출력하면 되기 때문에 굳이 endList에 값들을 넣을 필요가 없습니다.

sodp5   4년 전

감사합니다! 해결했어요!

댓글을 작성하려면 로그인해야 합니다.