본문 바로가기

BOJ/C++

[BOJ] 1600. 말이 되고픈 원숭이

* 최단 거리가 정답이 아닐 수도 있다. 

*

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