Cod sursa(job #795976)

Utilizator boss1999agagagtrate boss1999 Data 9 octombrie 2012 22:07:20
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <cstdio>

#define s scanf

#define o(_,__)for(_=1;_<=__;_++)

#define f o(i, N)

#define r(x,y)freopen("stramosi."#x,#y,std##x)

int l(int x){return x==1?0:(1==1)+l(x>>1);}int i,__,

N,M,I[1<<18],p,q,u,_[33][1<<18];main(){r(in,r),r(out
,w);s("%d%d",&N,&M);f s("%d",I+*&i);f _[-0][i]=I[i];o(

__,l(2*M-M))f _[__][i]=_[__+(-1)][_[__-1][i]];while(

M--){s("%d%d",&q,&p);while(u=(p&(p-1)))q=_[l(p-u)][q

],p=u;printf("%d\n",_[l(p)][q]);}return 0;}