이 튜토리얼에서는 정확히 k 개의 모서리를 가진 소스에서 목적지까지의 도보 수를 찾는 프로그램에 대해 논의할 것입니다.
이를 위해 그래프와 소스 및 대상 값이 제공됩니다. 우리의 임무는 소스에서 시작하여 정확히 k 개의 에지를 갖는 목적지까지 가능한 모든 경로를 찾는 것입니다.
예
#include <iostream> using namespace std; #define V 4 //counting walks using recursion int countwalks(int graph[][V], int u, int v, int k){ if (k == 0 && u == v) return 1; if (k == 1 && graph[u][v]) return 1; if (k <= 0) return 0; int count = 0; //moving to the adjacent nodes for (int i = 0; i < V; i++) if (graph[u][i] == 1) count += countwalks(graph, i, v, k-1); return count; } int main(){ int graph[V][V] = { {0, 1, 1, 1}, {0, 0, 0, 1}, {0, 0, 0, 1}, {0, 0, 0, 0} }; int u = 0, v = 3, k = 2; cout << countwalks(graph, u, v, k); return 0; }
출력
2