Pagini recente » Cod sursa (job #2126118) | Cod sursa (job #580361) | Cod sursa (job #2678625) | Cod sursa (job #3221511) | Cod sursa (job #798500)
Cod sursa(job #798500)
#include <fstream>
#include <vector>
#include <list>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int> v[1000];
list <int> q;
int n,m,x,y,nr;
vector <int> :: iterator it;
int main()
{
int i;
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
v[y].push_back(x);
v[x].push_back(y);
}
for(i=1;i<=n;i++)
if(v[i].size()%2!=0)
g<<"-1";
nr=0;
q.push_front(1);
while(!q.empty())
{
x=q.front();
if(v[x].empty())
{
nr++;
q.pop_front();
if(nr<=m)
g<<x<<" ";
}
else
{
y=v[x].back();
q.push_front(y);
v[x].pop_back();
for(it=v[y].begin();it<=v[y].end();it++)
if(*it==x)
{
v[y].erase(it);
break;
}
}
}
return 0;
}