Pagini recente » Cod sursa (job #1806825) | Cod sursa (job #2281588) | Cod sursa (job #117391) | Cod sursa (job #683022) | Cod sursa (job #2036470)
#include <iostream>
#include <cstdio>
using namespace std;
int Solve(int po, int x, int y)
{
if(po==1)
return 0;
po/=2;
if(x<=po && y<=po)
return Solve(po,y,x);
else if(x <= po && y>po)
return po*po + Solve(po, x, y-po);
else if(y<=po && x>po)
return 3*po*po + Solve(po, po-y+1, 2*(po)-x+1);
else
return 2*po*po + Solve(po, x-po, y-po);
}
int main()
{
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
int po, x, y, k;
scanf("%d %d %d", &k, &x, &y);
po = (1 << k);
printf("%d", Solve(po,x,y));
return 0;
}