इस ट्यूटोरियल में, हम एक प्रोग्राम के बारे में चर्चा करेंगे जो एक स्रोत से एक गंतव्य तक 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