Cod sursa(job #1021941)

Utilizator danytzudanybaltatescu dan danytzudany Data 4 noiembrie 2013 15:01:34
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#define _CRT_SECURE_NO_DEPRECATE 
#include <fstream>
 #define MAXN 250001 
 #define MAXLOGN 18 int a[MAXLOGN][MAXN];
 int main()
 { FILE *fin, *fout; fin = fopen("stramosi.in", "r");
  fout = fopen("stramosi.out", "w");
   int n,m; fscanf(fin, "%d %d", &n, &m);
    int p,q; for (int i=1;i<=n;i++)
    { fscanf(fin, "%d", &a[0][i]);
     } for (int i=1;i<MAXLOGN;i++)
      for (int j=1;j<=n;j++)
       a[i][j] = a[i-1][a[i-1][j]];
        for (int i=0;i<m;i++){ fscanf(fin, "%d %d", &q, &p);
         for (int k=17;k>=0 && q>0;k--) if (p & (1<<k)) q = a[k][q];
          fprintf(fout,"%d\n", q);
           }
            fclose(fin);
             fclose(fout);
              return 0;
               }