Pagini recente » Cod sursa (job #2686143) | Cod sursa (job #2879307) | Cod sursa (job #163216) | Cod sursa (job #991428) | Cod sursa (job #1856899)
#include <stdio.h>
#include <vector>
using namespace std;
int n, m, x, y;
int to[100100];
int from[100100];
bool marcat[500010];
vector <int> a[100010];
void dfs(int nod)
{
for(int i=0; i<a[nod].size(); i++)
{
if(marcat[a[nod][i]]==false)
{
marcat[a[nod][i]]=true;
if(to[a[nod][i]]==nod)
dfs(from[a[nod][i]]);
else
dfs(to[a[nod][i]]);
}
}
printf("%d ", nod);
}
int main()
{
freopen("ciclueuler.in", "r", stdin);
freopen("ciclueuler.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i=1; i<=m; i++)
{
scanf("%d%d", &x, &y);
a[x].push_back(i);
a[y].push_back(i);
to[i]=y;
from[i]=x;
}
dfs(1);
return 0;
}