Cod sursa(job #977968)

Utilizator DinodogAlexandru Dinodog Data 27 iulie 2013 12:22:54
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include "stdio.h"

struct{
    int s;
}om[250001];
struct{
    int r;
}r[300001];
int str(int q,int p)
{
    if(q==0) return 0;
    else{
        if(p>0) return str(om[q].s,p-1);
        else return q;
    }
}
int main()
{
    int N,M,i,j,q,p;
    char c;
    FILE *f;
    f=fopen("stramosi.in","r");
    fscanf(f,"%d",&N);
    fscanf(f,"%c",&c);
    fscanf(f,"%d",&M);
    fscanf(f,"%c",&c);
    for(i=1;i<=N;i++)
    {
        fscanf(f,"%d",&om[i].s);
        fscanf(f,"%c",&c);
    }
    for(i=1;i<=M;i++)
    {
        fscanf(f,"%d",&q);
        fscanf(f,"%c",&c);
        fscanf(f,"%d",&p);
        fscanf(f,"%c",&c);
        r[i].r=str(q,p);
    }
    fclose(f);
    f=fopen("stramosi.out","w");
    for(i=1;i<=M;i++)
    {
        fprintf(f,"%d\n",r[i].r);
    }
    fclose(f);
    return 0;
}