64장. 경로탐색 (DFS)
방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프로그램을 작성하세요. 아래 그래프에서 1번 정점에서 5번 정점으로 가는 가지수는 ~~
입력
첫째 줄에는 정점의 수 N(1<=N<=20)와 간선의 수 M가 주어진다. 그 다음부터 M줄에 걸쳐 연결 정보가 주어진다.
출력
총 가지수를 출력한다.
1 |
|
DFS를 저렇게 푸는 것이 맞을지는 모르겠지만 암튼 풀었던 문제! 잘 작동하는 것 같다.
여기서 포인트는 flag 변수를 두어 이미 방문한 노드면 다시 방문하지 않도록 하는 것!
선생님 코드
1 |
|
65장. 미로탐색(DFS)
7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 출발점은 격자의 (1, 1) 좌표이고 탈출 도착점은 (7, 7) 좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격자판의 움직임은 상하좌우로만 움직인다.
출발점에서 도착점까지 갈 수 있는 방법의 수는 여러개 나올 수 있습니다.
입력
첫 번째 줄부터 7*7 격자의 정보가 주어집니다.
출력
첫 번째 줄에 경로의 가지수를 출력한다.
1 |
|
못풀었다!!! 선생님 코드를 확인해보자.
선생님 코드
1 |
|
여기서 포인트는..!!! DFS(x, y) 이렇게 쓴다는 것!!!