Cod sursa(job #260864)

Utilizator scvalexAlexandru Scvortov scvalex Data 17 februarie 2009 17:25:33
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>

using namespace std;

int P[262145];

int main(int argc, char *argv[]) {
	int N, i, c = 0, n, r = 0;

	FILE *fi = fopen("euler.in", "r");
	fscanf(fi, "%d", &N);
	i = 0;
	while (fscanf(fi, "%d", &n) != EOF) {
		if (!r)
			r = n;
		if (n != P[c]) {
			if (((n == r) && (c != 0)) || (P[n] && (P[n] != c))) 
				break;
			P[n] = c;
		}
		c = n;
		++i;
	}
	fclose(fi);
	
	FILE *fo = fopen("euler.out", "w");
	if (i != 2*N-1) {
		fprintf(fo, "NU\n");
	} else {
		fprintf(fo, "DA\n");
		for (i = 1; i <= N; ++i)
			fprintf(fo, "%d ", P[i]);
		fprintf(fo, "\n");
	}
	fclose(fo);

	return 0;
}