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