TLE on #2,3,4,5
code:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
map<int,vector<int> >mp;
map<int,int>vis;
void dfs(int n){
if(vis[n])return;
cout<<n<<' ';
vis[n]=1;
for(int i=0;i<mp[n].size();i++){
dfs(mp[n][i]);
}
}
queue<int>q;
void bfs(int n){
cout<<n<<' ';
q.push(n);
vis[n]=1;
while(q.empty()==false){
int f=q.front();
q.pop();
for(int i=0;i<mp[f].size();i++){
if(!vis[mp[f][i]]){
cout<<mp[f][i]<<' ';
q.push(mp[f][i]);
vis[mp[f][i]]=1;
}
}
}
}
int main(){
int n,m;
int u,v;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>u>>v;
mp[u].push_back(v);
}
for(int i=1;i<=n;i++)sort(mp[i].begin(),mp[i].end());
vis.clear();
dfs(1);
putchar('\n');
vis.clear();
bfs(1);
}