Pagini recente » Cod sursa (job #1616208) | Cod sursa (job #358212) | Cod sursa (job #386878) | Cod sursa (job #591842) | Cod sursa (job #1926268)
#include <bits/stdc++.h>
using namespace std;
int N,M,S[100100];
map<int,int> G[100100];
void add(int x,int y){G[x][y]++;G[y][x]++;}
void del(int x,int y){G[x][y]--;G[y][x]--;}
void euler(int nod){
for(auto &it:G[nod])if(it.second){
del(nod,it.first);
euler(it.first);
}
cout << nod << ' ';
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);
ifstream cin("ciclueuler.in");
ofstream cout("ciclueuler.out");
cin >> N >> M;
for(int x,y;M--;){
cin >> x >> y;
S[x]++,S[y]++;
add(x,y);
}
for(int i = 1;i<=N;i++) if(S[i]%2) return cout << -1,0;
euler(1);
}