#include #include #include #include #include #include using namespace std; typedef pair PII; typedef vector> VII; template void print(vector sez) { for (T x : sez) cout << x << " "; cout << endl; } void BFS(int n, vector> &sosedi, vector &seq) { vector vis(n); queue q; q.push(0); vis[0]=1; while (!q.empty()) { int x=q.front(); q.pop(); seq.push_back(x); for (int y : sosedi[x]) { if (!vis[y]) { q.push(y); vis[y]=1; } } } } void DFS(int x, vector> &sosedi, vector &seq, vector &vis) { seq.push_back(x); vis[x]=1; for (int y : sosedi[x]) if (!vis[y]) { DFS(y,sosedi,seq,vis); } } int main() { ifstream fin("graph.txt"); int n,m; fin >> n >> m; vector> sosedi(n); for (int i=0;i> a >> b; sosedi[a].push_back(b); sosedi[b].push_back(a); } for (int x=0;x seqB; BFS(n,sosedi,seqB); print(seqB); vector seqD, visD(n); DFS(0,sosedi,seqD,visD); print(seqD); return 0; }