Pagini recente » Cod sursa (job #2915717) | Cod sursa (job #295888) | Cod sursa (job #2291307) | Cod sursa (job #1296826) | Cod sursa (job #742130)
Cod sursa(job #742130)
#include <cstdio>
#include <cstdlib>
using namespace std;
int k, x, y;
int fractal (int k, int x,int y)
{
if(k == 0) return 0;
int mid = (1 << (k - 1)), size = mid * mid;
if(x <= mid && y <= mid) return fractal (k - 1, y, x);
if(x > mid && y <= mid) return size + fractal (k - 1, x - mid, y);
if(x > mid && y > mid) return 2 * size + fractal (k - 1, x - mid, y - mid);
if(x <=mid && y > mid) return 3 * size + fractal (k - 1, 2 * mid - y + 1, mid - x + 1);
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
scanf("%i %i %i", &k, &x, &y);
printf("%i\n", fractal (k, y, x));
return 0;
}