Pagini recente » Cod sursa (job #209667) | Cod sursa (job #2180020) | Cod sursa (job #3123577) | Cod sursa (job #1087267) | Cod sursa (job #1836206)
#include <algorithm>
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("ciclueuler.in");
ofstream cout("ciclueuler.out");
vector <vector <int> > a;
vector <int> x;
void read()
{
int n,m;
cin >> n >> m;
a.resize(n+1);
for (int i=0,x,y; i<m; i++)
{
cin >> x >> y;
if (count(a[x].begin(),a[x].end(),y)==0) a[x].push_back(y);
}
cin.close();
}
void eul(int v)
{
x.push_back(v);
for (int i=0; i<x.size(); i++)
{
for (int j=0; j<a[x[i]].size(); j++)
x.push_back(a[x[i]][j]);
a[x[i]].clear();
}
}
void write()
{
if (x.size()<2) cout << "-1"; else
for (int i=0; i<x.size(); i++)
cout << x[i] << ' ';
cout.close();
}
main()
{
read();
for (int i=1; i<a.size(); i++)
if (a[i].size()!=0) {eul(i);break;}
write();
}