Pagini recente » Cod sursa (job #1166077) | Cod sursa (job #1095132) | Cod sursa (job #1452239) | Cod sursa (job #98954) | Cod sursa (job #2111984)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int> v[100001];
int st[200001];
int main()
{
int n,m,i,ok,x,y,vf,act;
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
ok=0;
for(i=1;i<=n;i++)
{
if(v[x].size()%2==1)
ok++;
}
if(ok!=0)
{
g<<-1<<'\n';
return 0;
}
vf=1;
st[vf]=1;
while(vf>0)
{
act=st[vf];
if(v[act].size()>0)
{
st[++vf]=v[act][0];
for(i=0;i<v[st[vf]].size();i++)
if(v[st[vf]][i]==act)
break;
v[act].erase(v[act].begin());
v[st[vf]].erase(v[st[vf]].begin()+i);
}
else
{
g<<act<<' ';
vf--;
}
}
return 0;
}