Cod sursa(job #308466)

Utilizator slayer4uVictor Popescu slayer4u Data 27 aprilie 2009 10:53:41
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <vector>
using namespace std;

vector <int> x[100001];

long n, m, a, b;

void frectie(long nod)
{
	long j;
	for (long i = 1; i <= x[nod].size(); ++i)
		if (x[nod][i])
		{
			x[nod][i] = 0;
			j = 1;
			while (x[i][j] != nod && j != n + 2) ++j;
			x[i][j] = 0;
			frectie(i);
		}
	printf("%ld ", nod);
}

int main()
{
	freopen ("ciclueuler.in", "rt", stdin);
	freopen ("ciclueuler.out", "wt", stdout);

	scanf("%ld %ld", &n, &m);

	for (long i = 1; i <= m; ++i)
	{
		scanf("%ld %ld", &a, &b);
//		x[a][b] = 1;
		x[a].push_back(b);
		x[b].push_back(a);
	}

	frectie(1);
/*	a = 1;
	while (x[1][0])
	{
		for (long i = 1; i <= n && x[a][0]; ++i)
		{
			if (x[a][i])
			{
				x[a][i] = 0;
				--x[a][0];

			}
		}
	}*/

	return 0;
}