Pagini recente » Cod sursa (job #2339357) | Cod sursa (job #2873292) | Cod sursa (job #68358) | Cod sursa (job #2269317) | Cod sursa (job #1231979)
#include<cstdio>
using namespace std;
int k,x,y;
long long solve(int gr,int x,int y)
{
int aux;
if(gr<0)
{
return 0;
}
aux=1<<gr;
if((x<=aux)&&(y<=aux))
{
return solve(gr-1,y,x);
}
if((x>aux)&&(y<=aux))
{
return aux*aux+solve(gr-1,x-aux,y);
}
if((x>aux)&&(y>aux))
{
return 2*aux*aux+solve(gr-1,x-aux,y-aux);
}
return 3*aux*aux+solve(gr-1,2*aux-y+1,aux-x+1);
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
scanf("%d%d%d",&k,&x,&y);
printf("%lld\n",solve(k,x,y));
}