Pagini recente » Cod sursa (job #1904193) | Cod sursa (job #522793) | Cod sursa (job #648242) | Cod sursa (job #575728) | Cod sursa (job #2239233)
#include <bits/stdc++.h>
using namespace std;
const int N=100000+5;
const int M=500000+5;
int n,m;
int sum[M];
vector<int>g[N];
bool used[M];
vector<int>print;
inline void go(int a)
{
while(!g[a].empty())
{
int id=g[a].back();
g[a].pop_back();
if(used[id]==0)
{
used[id]=1;
go(sum[id]-a);
}
}
print.push_back(a);
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
freopen("ciclueuler.in","r",stdin);
freopen("ciclueuler.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b;
cin>>a>>b;
sum[i]=a+b;
g[a].push_back(i);
g[b].push_back(i);
}
for(int i=1;i<=n;i++)
if(g[i].size()&1)
cout<<"-1\n", exit(0);
go(1);
print.pop_back();
for(auto x:print)
cout<<x<<" ";
cout<<"\n";
return 0;
}
/**
**/