Pagini recente » Cod sursa (job #623744) | Diferente pentru numerele-sprague-grundy intre reviziile 38 si 33 | Rating Moise Bogdan (Bogdaneee) | Cod sursa (job #2453906) | Cod sursa (job #1515049)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream si("ciclueuler.in");
ofstream so("ciclueuler.out");
vector<int> l[100005];
vector<int> q;
int cic[500010],lg;
int main()
{
int n,m;
si>>n>>m;
int i,a,b;
for(i=0;i<m;++i)
{
si>>a>>b;
l[a].push_back(b);
l[b].push_back(a);
}
int imp=0;
for(i=1;i<=n;++i)
{
if(l[i].size()&1)
{
imp=1;
break;
}
}
if(imp)
{
so<<-1;
}
else
{
q.push_back(1);
int i,x;
while(!q.empty())
{
a=q.back();
if(!l[a].empty())
{
b=l[a].back();
l[a].pop_back();
l[b].erase(find(l[b].begin(),l[b].end(),a));
q.push_back(b);
}
else
{
cic[lg++]=a;
q.pop_back();
}
}
for(i=0;i<lg-1;++i)
so<<cic[i]<<' ';
}
}