Pagini recente » Cod sursa (job #921436) | Cod sursa (job #106773) | Cod sursa (job #2502691) | Cod sursa (job #2395984) | Cod sursa (job #2154885)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int n,m, p=0, viz[100001],A[100001],B[100001],sol[100001];
vector<int> L[100001];
void Citire()
{
int i;
fin >> n >> m;
for (i = 1; i <= m; i++)
{
fin >> A[i] >> B[i];
L[A[i]].push_back(i);
L[B[i]].push_back(i);
}
}
int P[10000];
void DFS(int k)
{
int i;
while (P[k] < L[k].size())
{
i = L[k][P[k]];
P[k]++;
if (viz[i] == 0)
{
viz[i] = 1;
DFS(A[i] + B[i] - k);
}
}
sol[++p] = k;
}
int main()
{
int i;
Citire();
DFS(A[1]);
if(p==n-1)
fout<<-1;
else
for(i=1;i<p;i++)
fout<<sol[i]<<" ";
return 0;
}