[C++] 纯文本查看 复制代码 #include <bits/stdc++.h>
using namespace std;
int cnt=0;
int n,m,sx,fx;
vector<int> dots;
vector<int> G[110];
void dfs(int s,int e){
dots.push_back(s);
if(s==e){
cnt++;
for(int i=0;i<dots.size();i++){
cout<<dots[i]<<" ";
}
cout<<endl;
dots.pop_back();
return;
}
for(int i=0;i<G[s].size();i++){
if(find(dots.begin(),dots.end(),G[s][i])!=dots.end()){
continue;
}dfs(G[s][i],e);
}
dots.pop_back();
}
int main(){
cin>>n>>m>>sx>>fx;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
G[u].push_back(v);
G[v].push_back(u);
}
for(int i=1;i<=n;i++){
sort(G[i].begin(),G[i].end());
}
dfs(sx,fx);
cout<<cnt;
return 0;
}
|