#include<bits/stdc++.h>
using namespace std;
int n,m,wen[100005][500];
int df[114514],dfsize,a[114514];
int bf[114514],bfsize=1,b[114514],h=1,d;
void dfs(int wei)
{
for(int i=1;i<=wen[wei][0];i++)
{
if(!a[wen[wei][i]]){
a[wen[wei][i]]=1;
dfsize++;
df[dfsize]=wen[wei][i];
dfs(wen[wei][i]);
}
}
}
void bfs(int wei)
{
for(int i=1;i<=wen[wei][0];i++)
{
if(!b[wen[wei][i]]){
b[wen[wei][i]]=1;
bfsize++;
bf[bfsize]=wen[wei][i];
}
}
for(int i=1;i<=wen[wei][0];i++)
{
dfs(wen[wei][i]);
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
wen[x][0]++;wen[x][wen[x][0]]=y;
for(int k=1;k<=wen[x][0];k++)
for(int j=1;j<=wen[x][0]-1;j++)
if(wen[x][j]>wen[x][j+1]) swap(wen[x][j],wen[x][j+1]);
}
dfs(1);
bf[1]=1;
for(int d=1;d<=h;d++)
{
int wei=bf[d];
for(int i=1;i<=wen[wei][0];i++)
{
if(!b[wen[wei][i]]){
b[wen[wei][i]]=1;
bfsize++;
bf[bfsize]=wen[wei][i];
h++;
}
}
}
cout<<'1'<<" ";
for(int i=1;i<=dfsize;i++)
cout<<df[i]<<" ";
cout<<endl;
for(int i=1;i<=bfsize;i++)
cout<<bf[i]<<" ";
return 0;
}
错误