Cod sursa(job #1042728)

Utilizator tavi.belu1994FMI Belu Andrei Octavian tavi.belu1994 Data 27 noiembrie 2013 17:12:05
Problema Stramosi Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <cstdio>
FILE *f,*g;
using namespace std;

int N,M,T[250001][1000];

void read()
{
    fscanf(f,"%d%d\n",&N,&M);
    for(int i=1;i<=N;i++)
    {
        //citim tatal de intaltime 1 a lui i
        fscanf(f,"%d",&T[1][i]);
    }
}

void make_stramosi()
{
    int i=2,j;
    while(i<=N)
    {
        for(j=1;j<=N;j++)
        {
            //tatal de inaltime i a lui j
            T[i][j] = T[1][T[i-1][j]];
        }
        i++;
    }
}

int main()
{
    f=fopen("stramosi.in","r");
    g=fopen("stramosi.out","w");
    read();
    make_stramosi();
    for(int i=1;i<=M;i++)
    {
        int Q,P;
        fscanf(f,"%d%d\n",&Q,&P);
        fprintf(g,"%d\n",T[P][Q]);
    }
    fclose(f);
    fclose(g);
    return 0;
}