Pagini recente » Cod sursa (job #2647218) | Cod sursa (job #184241) | Cod sursa (job #2477003) | Cod sursa (job #2988011) | Cod sursa (job #597309)
Cod sursa(job #597309)
#include <cstdio>
int sol = 0 , x, y, k;
void divide(int k, int x, int y){
if(k){
int p = 1 << (k - 1);
if(x <= p && y <= p)
divide(k - 1, y, x);
if(x <= p && y > p){
sol += 3 * p * p;
divide(k - 1, 2 * p - y + 1, p - x + 1);
}
if(x > p && y <= p){
sol += p * p;
divide(k - 1, x - p, y);
}
if(x > p && y > p){
sol += 2 * p * p;
divide(k - 1, x - p, y - p);
}
}
}
int main() {
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
scanf("%d %d %d", &k, &y, &x);
divide(k, x, y);
printf("%d\n", sol);
return 0;
}