깊이 우선 탐색1 [C/C++] 17070: 파이프 옮기기 1 이 문제도 (1,2)를 시작해서 graph를 탐색하며 (n,n)까지 가는 경우의 수를 구하는 문제이기 때문에 그래프 탐색 이론을 사용해야한다. 내가 구현한 방식으로는 현재 지점이 이전 지점에서 어떻게 왔냐 (1.가로 2.대각선 3.세로)에 따라서 탐색의 방향을 정했기 때문에 2차원 배열을 이용하여 queue를 사용한 BFS보다는 DFS가 훨씬 쉽다고 판단하여 DFS를 이용하여 문제를 풀었다. DFS에서 이전 지점에서 어떻게 왔냐에 따라 아래 코드처럼 나누었다. void DFS(int n,int x,int y) { if(previous[y][x]==1) //오른쪽으로 감 GoRight(n,x,y); if(previous[y][x]==2) //대각선으로 감 GoDiagonal(n,x,y); if(previo.. 2023. 8. 29. 이전 1 다음