跟着思路敲了一遍,感觉清晰多了,但是还得多复习。就是利用了深度搜索,很奇妙。
点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int w[N][N];
int vis[N];
int n,m;
int a,b,c;
void dfs(int u){
vis[u]=true;
if(vis[u]){
for(int i=1;i<=n;i++){
if(w[u][i]) {
cout<<u<<i<<w[u][i];
if(vis[i])continue;
dfs(i);
}
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a>>b>>c;
w[a][b]=c;
}
dfs(1);
return 0;
}