Cod sursa(job #677488)
Utilizator | Data | 10 februarie 2012 11:49:11 | |
---|---|---|---|
Problema | Fractal | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<cstdio>
int x,k,y,l,r=3,p=1,i,j=2,t;
int main()
{FILE *f=fopen("fractal.in","r"),*g=fopen("fractal.out","w");
fscanf(f,"%d%d%d",&k,&x,&y);
while(k)
{k--;
if(x>(1<<k))
if(y>(1<<k))
l=l+j*(1<<k)*(1<<k),x-=(1<<k),y-=(1<<k),i=j,j=t,t=i;
else
l=l+r*(1<<k)*(1<<k),x-=(1<<k),i=r,r=p,p=i;
else
if(y>(1<<k))
l=l+p*(1<<k)*(1<<k),y-=(1<<k),i=j,j=t,t=i;
else
l=l+t*(1<<k)*(1<<k),i=r,r=p,p=i;}
fprintf(g,"%d",l);
return 0;}