大佬求调
#include<bits/stdc++.h>
using namespace std;
vector < vector < int > > g;
vector < bool > vis;
void dfs(int pos){
cout << pos << ' ';
vis[pos] = 1;
for(int i = 0;i < g[pos].size();i++){
if(!vis[g[pos][i]]) dfs(g[pos][i]);
}
}
void bfs(int pos){
queue < int > q;
q.push(pos);
vis[pos] = 1;
while(!q.empty()){
int t = q.front();
q.pop();
for(int i = 0;i < g[t].size();i++){
if(!vis[g[t][i]])
q.push(g[t][i]);
vis[g[t][i]] = 1;
}
cout << t << ' ';
}
}
signed main(){
int n,m;
cin >> n >> m;
g.resize(n + 1);
vis.resize(n + 1);
for(int i = 0;i < m;i++){
int u,v;
cin >> u >> v;
g[u].push_back(v);
}
for(int i = 0;i <= n;i++)
vis[i] = 0;
dfs(1);
for(int i = 0;i <= n;i++)
vis[i] = 0;
cout << endl;
bfs(1);
return 0;
}