Cod sursa(job #935335)

Utilizator alexpaliasAlex P alexpalias Data 3 aprilie 2013 00:10:24
Problema Stramosi Scor 60
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <stdlib.h>

/* version 1, dumb - should time out */

int main(void)
{
	FILE *fin, *fout;
	int *a, n, m;
	int i, j, current;

	if (!(fin = fopen("stramosi.in", "r"))) {
		perror("Cannot open input file");
		return 1;
	}
	if (!(fout = fopen("stramosi.out", "w"))) {
		perror("Cannot open output file");
		return 2;
	}

	fscanf(fin, "%d%d", &n, &m);

	a = (int*)malloc((n+1)*sizeof(int));
	if (!a) {
		fprintf(stderr, "Cannot allocate memory!\n");
		return 3;
	}

	a[0] = 0;

	for (i = 1; i <= n; i++)
		fscanf(fin, "%d", a+i);

	for (i = 0; i < m; i++) {
		fscanf(fin, "%d%d", &current, &j);
		for (; j; j--) {
			current = a[current];
		}
		fprintf(fout, "%d\n", current);
	}

	free(a);
	fclose(fout);
	fclose(fin);

	return 0;
}