想问一下这个题怎么写呀?
给一个有 n 个结点的有向无环图,找到所有从 1 到 n 的路径并输出(按照字典序从小到大输出)
源码:
#include<bits/stdc++.h>
using namespace std;
int visit[11][11];
int graph[11][11];
int path[11];
int num;
int m,n;
void dfs(int start,int end){
if(visit[start][end])return;
if(start==end){
for(int i=0;i<num;i++){
cout<<path[i]<<" ";
}
cout<<endl;
return;
}
else{
for(int tmp=start+1;tmp<=n;tmp++){
if(graph[start][tmp]){
path[num++]=tmp;
visit[start][end]=1;
dfs(tmp,end);
visit[start][end]=0;
path[--num]=0;
}
}
return;
}
}
int main(){
cin>>m>>n;
memset(path,0,sizeof(path));
memset(visit,0,sizeof(visit));
memset(graph,0,sizeof(graph));
path[0]=1;
int start,end;
for(int i=1;i<=n;i++){
cin>>start>>end;
graph[start][end]=1;
}
num=1;
dfs(1,m);
}
参考资料:https://blog.csdn.net/q_m_x_d_d_/article/details/83065030
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y