현수의 제 2의 뇌
BOJ 1600 말이 되고픈 원숭이 [ CPP, Algorithm, BFS ]
Algorithm 2023. 7. 11. 09:42

문제 풀이 일반적인 BFS 방식이다. 먼저 말처럼 이동할 수 있는 횟수가 정해져 있는데 이걸 큐에 저장하면서 말의 능력을 몇번 썼는지 확인하며 말의 능력을 쓸 수 있다면 먼저 말의 능력을 쓴다. 그리고 말의 능력을 썼을때와 쓰지 않았을때, 또 말의 능력을 쓴 횟수가 다를때의 visited는 다르기 때문에 3차원 배열을 이용해서 말의 방문 확인을 한다면 쉽게 풀 수 있다 #include using namespace std; int graph[200][200]; int dx[4] = {0,0,1,-1}; int dy[4] = {1,-1,0,0}; int dxHorse[8] = { -1, -2, -2, -1, 1, 2, 2, 1 }; int dyHorse[8] = { -2, -1, 1, 2, 2, 1, -1,..