Cod sursa(job #984726)

Utilizator manutrutaEmanuel Truta manutruta Data 15 august 2013 11:25:35
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
# include <cstdio>
# include <iostream>
# include <vector>
using namespace std;

# define MAXN 250005

int n, m;
int a[MAXN];

int dfs(int nod, int n)
{
    if (n == 0) {
        return nod;
    }
    if (a[nod] == 0) {
        return 0;
    }
    return dfs(a[nod], n - 1);
}

int main()
{
    FILE* f = fopen("stramosi.in", "r");
    FILE* g = fopen("stramosi.out", "w");

    fscanf(f, "%d %d\n", &n, &m);

    for (int i = 1; i <= n; i++) {
        int t;
        fscanf(f, "%d ", &t);
        a[i] = t;
    }

    for (int i = 1; i <= m; i++) {
        int q, p;
        fscanf(f, "%d %d\n", &q, &p);
        fprintf(g, "%d\n", dfs(q, p));
    }

    fclose(f);
    fclose(g);
    return 0;
}