Pagini recente » Cod sursa (job #1494793) | Cod sursa (job #2281710) | Cod sursa (job #2644835) | Cod sursa (job #1807508) | Cod sursa (job #1526887)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("ciclueuler.in");
ofstream fout ("ciclueuler.out");
const int Nmax=100005 ;
int gr[Nmax];
vector <int> sol;
std::vector<int>::iterator it;
bitset <Nmax> v[Nmax];
int i, n, x, y,m;
void CicluEulerian (int x)
{
for (int i=1; i<=n; i++)
{
if (v[i][x]==1)
{
v[i][x]=v[x][i]=0;
CicluEulerian (i);
}
}
sol.push_back(x);
}
int main()
{
fin>>n>>m;
while (fin>>x>>y)
{
v[x][y]=v[y][x]=1;
gr[x]++;gr[y]++;
}
for(int i=1;i<=n;i++)
if(gr[i]%2==1) {fout<<-1;return 0;}
CicluEulerian(1);
for (it=sol.begin(); it!=sol.end(); it++) fout <<*it<< " ";
}