[백준] 2665번 미로 만들기 c++


[백준] 2665번 미로 만들기 c++

로직이 비슷한 문제가 굉장히 많네 미로 만들기, 벽 부수고 이동하기, 말이 되고픈 원숭이 다 똑같은 로직이다.. 역시 문제를 많이 풀어봐야 된다. bool dist[x][y][z]를 만들어서 x, y까지 가는 데 z 개의 검은 벽을 지났다를 만들어줬다. 처음에 두 개는 z = 52로 해줬더니 틀렸다. 최대 n이 50이므로 50 * 50 = 2500이므로 넉넉하게 z를 2500으로 잡았다. 검은 벽이 2500개 있다고 생각해서 구현은 bfs를 돌면서 흰 벽이면 체크 표시만 해주고 q에 넣어줬고 검은 벽이면 nx, ny, nz + 1을 방문했는지 보고 방문 안 했으면 체크 표시로 해주고 큐에 넣어줬다. 그러다가 x == n - 1 , y == n - 1에 도달하면 그때..........



원문링크 : [백준] 2665번 미로 만들기 c++