#include <bits/stdc++.h>
using namespace std;
int a[100005][100005],n,e,x,y;
bool f[100005];
int q[100005];
int h,t;
void dfs(int x){
f[x]=true;
cout<<x<<" ";
for(int i=1;i<=n;i++){
if(a[x][i]==1&&!f[i]){
dfs(i);
}
}
}
int main(){
cin>>n>>e;
for(int i=1;i<=e;i++){
cin>>x>>y;
a[x][y]=1;
}
dfs(1);
cout<<endl;
memset(f+1,false,n);
h=1;
t=1;
q[1]=1;
cout<<1<<" ";
f[1]=true;
while(h<=t){
for(int i=1;i<=n;i++){
if(a[q[h]][i]==1&&!f[i]){
cout<<i<<" ";
t++;
q[t]=i;
f[i]=true;
}
}
h++;
}
return 0;
}
数组小点RE,数组大点编译错误