66장. 경로 탐색 (DFS : 인접리스트 방법)
64장 문제와 같은 문제! 이 문제는 인접 리스트를 활용해서 풀어보자.
방향 그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지수를 출력하는 프로그램을 작성하세요.
입력
첫 째 줄에는 정점의 수 N(1<=N<=20)와 간선의 수 M가 주어진다. 그 다음부터 M줄에 걸쳐 연결정보가 주어진다.
출력
총 가지수를 출력한다.
나는.. 인접리스트를 몰라서 바로 선생님 코드를 보도록 하자.
선생님 코드
1 |
|
인접리스트는 벡터를 이용해서 푼다!!
인접행렬보다 훨씬 메모리도 적게 차지하고 탐색하는 시간도 빠르다. (예, 노드 1000개 간선 9개면 인접행렬은 그래도 1000x1000으로 하는데 인접리스트는 그렇지 않다.)
67장. 최소 비용(DFS : 인접행렬)
가중치 방향 그래프가 주어지면 1번 정점에서 N번 정점으로 가는 최소비용을 출력하는 프로그램을 작성하세요.
입력
첫 번째 줄에는 정점의 수 N(1<=N<=20)과 간선의 수 M가 주어진다. 그 다음부터 M줄에 걸쳐 연결정보가 주어진다.
출력
총 가지수를 출력한다.
1 |
|
오케이 풀었다!!! 포인트는 check 배열!!!