Cod sursa(job #982159)
| Utilizator | Data | 8 august 2013 18:11:37 | |
|---|---|---|---|
| Problema | Fractal | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
int rez(int x,int y,int k)
{
if(k==0)
return 0;
int m=k/2;
if(x<=m&&y<=m)
return rez(x,y,k-1);
if(x>m&&y<=m)
return m*m+rez(x-m,y,k-1);
if(x>m&&y>m)
return 2*m*m+rez(x-m,y-m,k-1);
return 3*m*m+rez(2*m-y+1,m-x+1,k-1);
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
int k,x,y;
scanf("%d%d%d",&k,&x,&y);
printf("%d\n",rez(x,y,1<<k));
return 0;
}
