Cod sursa(job #408747)

Utilizator nomemoryAndrei Ciobanu nomemory Data 3 martie 2010 10:47:22
Problema Stramosi Scor 80
Compilator c Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
#include <stdlib.h>

#define FIN "stramosi.in"
#define FOUT "stramosi.out"

int main(){
    int membri_s, interog, membru, pnr, i, j, crtpr;
    int *membri;

    FILE *in, *out;
    in = fopen(FIN, "r");

    fscanf(in, "%d", &membri_s);
    fscanf(in, "%d", &interog);

    membri = calloc(membri_s + 1, sizeof(*membri));
    for(i = 1; i <= membri_s; i++){
        fscanf(in, "%d", &membri[i]);
    }

    out = fopen(FOUT, "w");
    for(i = 0; i < interog; i++){
        fscanf(in, "%d", &membru);
        fscanf(in, "%d", &pnr);
        j = pnr;
        crtpr = membru;
        while(j-->0){
            crtpr = membri[crtpr];
            if ( crtpr == 0 ){
                break;
            }
        }
        fprintf(out, "%d \n", crtpr);
    }

    fclose(in);
    fclose(out);

    return (0);
}