Pagini recente » Cod sursa (job #2495609) | Cod sursa (job #1776600) | Cod sursa (job #2434817) | Cod sursa (job #1064192) | Cod sursa (job #1386689)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
vector <int> a[100004];
int ok;
void Euler(int x)
{
// while(!a[x].empty())
// {
// int y=a[x][a[x].size()-1];
// std::vector<int>::iterator it;
// it = find (a[y].begin(), a[y].end(),x);
// int k=a[x][a[x].size()-1];
// a[x].pop_back();
// a[y].erase(it);
//
// Euler(k);
//
// }
// if(x==1)
// {
// if(ok==0)
// {fout<<x<<' ';ok++;}
// }
// else
fout<<x<<' ';
}
int main()
{
int n,m,i,u,v;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
// for(i=1;i<=n;i++)
// {for(int j=0;j<a[i].size();j++)
// cout<<a[i][j]<<' ';
// cout<<'\n';}
for(i=1;i<=n;i++)
if(a[i].size()&1)
{
fout<<"-1\n";
fin.close();
fout.close();
return 0;
}
Euler(1);
return 0;
}