Pagini recente » Cod sursa (job #2782403) | Cod sursa (job #391833) | Cod sursa (job #1545208) | Borderou de evaluare (job #1569509) | Cod sursa (job #1231088)
#include<cstdio>
using namespace std;
int k,x,y;
int 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 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("%d\n",solve(k,x,y));
}