* 최단 거리가 정답이 아닐 수도 있다.
*
1
3 5
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
처럼 도착 지점이 장애물로 막혀져있는 경우
0 0 0 x 0
0 0 x 0 1
0 0 0 1 0
x로 표시되어있는 지점까지 원숭이로 이동한 후 말의 이동을 하는 방법이 도착할 수 있는 최선의 방법이다.
* 큐에는 4가지 값이 들어간다.
{움직인 횟수, 말로 움직인 횟수, 좌표}
말로 움직인 횟수가 k보다 작을때까지만 말로 움직인 좌표를 큐에 넣을 수 있다.
원숭이로 움직인 횟수는 항상 넣는다. (최단 경로 != 정답)
*코드가 깔끔하지 않다.
*dx / dy => 상하좌우
cdx / cdy => 대각선
'BOJ > C++' 카테고리의 다른 글
[BOJ] 9328. 열쇠 (0) | 2020.04.16 |
---|---|
[BOJ] 14391. 종이조각 (0) | 2020.04.16 |
[BOJ] 9470. Strahler 순서 + TC (0) | 2020.04.01 |
[BOJ] 1280. 나무심기 (0) | 2020.03.30 |
[BOJ] 2636. 치즈 (0) | 2020.03.29 |