#include<bits/stdc++.h>
using namespace std;
struct Graph{
int nodenum;
vector<int>a[10];
}G;
vector<int>a[100];
int path[100],cnt = 0;
int n;
int st,ed;
bool vis[100];
void dfs(int h){
if(vis[h]) return ;
path[++cnt] = h;
vis[h] = 1;
if(h == ed){
printf("路径为:");
for(int i = 1; i <= cnt; i++) printf("%d ",path[i]);
printf("\n");
vis[h] = 0;
cnt--;
return ;
}
for(int i = 0; i<G.a[h].size(); i++){
int to = G.a[h][i];
dfs(to);
}
vis[h] = 0;
cnt--;
return ;
}
int main(){
scanf("%d%d",&st,&ed);
scanf("%d",&n);
int s ,t;
for(int i = 1; i <= n; i++){
scanf("%d%d",&s,&t);
G.a[s].push_back(t);
}
dfs(st);
return 0;
}
版权声明:本文为qq_42967669原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。