Pagini recente » Cod sursa (job #2450836) | Profil adinutica | Cod sursa (job #395331) | Cod sursa (job #1565210) | Cod sursa (job #1742314)
#include <iostream>
#include <cstdio>
using namespace std;
int solve(int k, int x, int y)
{
if (!k) return 0;
int p = 1 << (k-1);
int cadran, nx, ny;
if (x <= p && y <= p) {
cadran = 0;
nx = y;
ny = x;
}
else if (x <= p) {
cadran = 1;
nx = x;
ny = y - p;
}
else if (y > p) {
cadran = 2;
nx = x - p;
ny = y - p;
}
else {
cadran = 3;
nx = p+1-y;
ny = p+1-(x-p);
}
return cadran*p*p + solve(k-1, nx, ny);
}
int main()
{
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
int k, x, y;
scanf("%d %d %d", &k, &x, &y);
printf("%d", solve(k, x, y));
return 0;
}