#include<iostream> #include<iostream> #include<cstring> #include<queue> #include<cstdio> using namespace std; int m,n,maxn=0x7fffffff; int s[1500][1500]; bool visit[1500]={false}; queue<int>str; void BFS(int ); void DFS(int ); int main() { memset(s,0x7f,sizeof(s)); cin>>n>>m; for(int i=0;i<m;++i) { int x,y,z; cin>>x>>y>>z; s[x][y]=z; } memset(visit,false,sizeof(visit)); cout<<"1"<<"*****"; BFS(1); cout<<endl<<"1*****"; memset(visit,false,sizeof(visit)); DFS(1); } void BFS(int sum) { cout<<"-->"<<sum; visit[sum]=true; str.push(sum); while(!str.empty()) { int j=str.front(); str.pop(); for(int i=1;i<=n;++i) { if(!visit[i]&&s[j][i]!=maxn) { cout<<"-->"<<i; str.push(i); visit[i]=true; } } } } void DFS(int sum) { int i; cout<<"-->"<<sum; visit[sum]=true; for(int i=1;i<=n;++i) { if(!visit[i]&&s[sum][i]!=maxn) DFS(i); } }