Cod sursa(job #977969)

Utilizator DinodogAlexandru Dinodog Data 27 iulie 2013 12:28:02
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];
void str(int q,int p,int i)
{
    if(q==0) r[i].r=0;
    else{
        if(p>0) str(om[q].s,p-1,i);
        else r[i].r=q;
    }
}
int main()
{
    int N,M,i,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);
        str(q,p,i);
    }
    fclose(f);
    f=fopen("stramosi.out","w");
    for(i=1;i<=M;i++)
    {
        fprintf(f,"%d\n",r[i].r);
    }
    fclose(f);
    return 0;
}