Cod sursa(job #2297386)
Utilizator | Data | 5 decembrie 2018 19:35:33 | |
---|---|---|---|
Problema | Ciclu Eulerian | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
int a[100001][100001],n,m,i,x,y,j[1000001],o;
void euler(int v)
{
int w;
for(w=1;w<=n;w++)
{
if(a[v][w])
{
a[v][w]--;a[w][v]--;
euler(w);
}
}
o++;
j[o]=v;
}
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x][y]++;a[y][x]++;
}
euler(1);
if(j[1]!=1)
g<<"-1";
else
for(i=o;i>1;i--)
g<<j[i]<<" ";
return 0;
}