Pagini recente » Cod sursa (job #407384) | Cod sursa (job #2831181) | Cod sursa (job #1320607) | Cod sursa (job #2281741) | Cod sursa (job #1132827)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in ("ciclueuler.in");
ofstream out ("ciclueuler.out");
vector <int> v[100001];
int n,m,nr;
void euler(int start)
{
int a,i,k;
a=start;
while(!v[a].empty())
{
i=v[a][0];
v[a].erase(v[a].begin());
k=0;
while(v[i][k]!=a)
k++;
v[i].erase(v[i].begin()+k);
euler(i);
}
out<<a<<" ";
}
int main()
{
int x,y;
bool check=true;
in>>n>>m;
for(int i=0; i<m; i++)
{
in>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for(int i=1; i<=n; i++)
{
if(v[i].size()%2!=0)
check = false;
}
if(check)
euler(1);
else out<<-1;
return 0;
}