Cod sursa(job #227812)

Utilizator hasegandaniHasegan Daniel hasegandani Data 5 decembrie 2008 16:40:50
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>

#define nmax 250001

int s[nmax][20],m,n;
FILE *f=fopen("stramosi.in","r"),*g=fopen("stramosi.out","w");

int main()
{
    fscanf(f,"%d%d",&n,&m);
    for(int i=1;i<=n;++i)
        fscanf(f,"%d",&s[0][i]);
    int ok=1,j=1;
   for (j=1;j<=16;++j)
      //  {//
//        ok=0;
        for(int i=1;i<=n;++i)
          //  {
            s[j][i]=s[j-1][s[j-1][i]];  
//			if (s[j][i]!=0)
	//			ok=1;
			//}
		//j++;
//        }/
    int a,b;
    for(j=1;j<=m;++j)
        {
            fscanf(f,"%d%d",&a,&b);
            int t=0;
            while (b!=0)
                {
                    if (b%2==1)
                        a=s[t][a];
                    b/=2;
                    t++;
				}
			fprintf(g,"%d\n",a);

        }
    return 0;
}