#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,f[100005];
vector<int> a[100005];
int dfs(int c)
{
cout<<c<<' ';
for(int i=0;i<a[c].size();i++)
{
int t=a[c][i];
if(f[t]==0)
{
f[t]=1;
dfs(t);
}
}
}
void bfs()
{
memset(f,0,sizeof(f));
queue<int> q;
f[1]=1;
q.push(1);
while(!q.empty())
{
int t=q.front();
q.pop();
cout<<t<<' ';
for(int i=0;i<a[t].size();i++)
{
if(f[a[t][i]]==0)
{
f[a[t][i]]=1;
q.push(a[t][i]);
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>x>>y;
a[x].push_back(y);
}
for(int i=1;i<=n;i++)
{
sort(a[i].begin(),a[i].end());
}
f[1]=1;
dfs(1);
cout<<'\n';
bfs();
return 0;
}
请求帮助