Pagini recente » Cod sursa (job #2066848) | Cod sursa (job #1749406) | Cod sursa (job #1933436) | Cod sursa (job #560977) | Cod sursa (job #1132992)
#include <iostream>
#include <vector>
using namespace std;
vector<int> g[100001];
vector<int> va[100001];
void lv(int x){
cout <<x<<endl;
for (int i=0;i<va[x].size();i++){
if (va[x][i]!=x) lv(va[x][i]);
else cout <<va[x][i]<<endl;
}
}
int main(){
int n,v;
cin>>n>>v;
for (int i=0;i<v;i++){
int a,b;
cin>>a>>b;
g[a].push_back(b);
g[b].push_back(a);
}
int fo=0;
int al=1;
while (fo<v){
int cv=al;
int f=1;
while (f){
f=0;
if (!g[cv].empty()){
f=1;
int ocv=cv;
cv=g[cv][g[cv].size()-1];
g[ocv].erase(g[ocv].end()-1);
for (int i=0;i<g[cv].size();i++){
if (g[cv][i]==ocv){
g[cv].erase(g[cv].begin()+i);
break;
}
}
va[al].push_back(cv);
cout <<al<<" "<<cv<<endl;
fo++;
}
}
if (fo<v){
for (int i=0;i<va[al].size();i++){
if (!g[va[al][i]].empty()){
al=va[al][i];
break;
}
}
}
}
lv(1);
}