Cod sursa(job #2560694)
Utilizator | Data | 28 februarie 2020 10:49:43 | |
---|---|---|---|
Problema | Ciclu Eulerian | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int >v[100005];
int n,m,x,y,i;
void dfs(int nod)
{
g<<nod<<' ';
while(!v[nod].empty())
{
x=v[nod].back();
v[nod].pop_back();
v[x].erase(find(v[x].begin(),v[x].end(),nod));
dfs(x);
}
}
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for(i=1;i<=n;i++)
if(v[i].size()&1)
{
g<<-1;
return 0;
}
dfs(1);
return 0;
}