Pagini recente » Cod sursa (job #1073958) | Cod sursa (job #2579873) | Cod sursa (job #220248) | Cod sursa (job #2560327) | Cod sursa (job #895573)
Cod sursa(job #895573)
#include <cstdio>
using namespace std;
int k,x,y;
int div_empera(int n,int x,int y)
{
int mid = 1 << (n-1);
int arie = mid*mid;
if(n==0)
return 0;
if(x <= mid)
{
if(y <= mid)
{
return div_empera(n-1,y,x);
}
else
{
return 3*arie + div_empera(n-1,2*mid-y+1,mid-x+1);
}
}
else
{
if(y <= mid)
{
return arie + div_empera(n-1,x-mid,y);
}
else
{
return 2*arie + div_empera(n-1,x-mid,y-mid);
}
}
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
scanf("%d %d %d\n",&k,&y,&x);
printf("%d\n",div_empera(k,x,y));
return 0;
}