Pagini recente » Cod sursa (job #290677) | Cod sursa (job #2328391) | Cod sursa (job #3284196) | Cod sursa (job #2326069) | Cod sursa (job #2490754)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int K, X, Y;
int solve( int level, int x, int y) {
if ( level == 1 ) return 0;
int mid = level / 2;
if ( x <= mid && y <= mid) // 1
return solve( level / 2, y , x);
if (x <= mid && y > mid) // 2
return 3 * mid * mid + solve(level / 2, 2 * mid + 1 - y, mid + 1 - x);
if (x > mid && y <= mid) // 3
return mid * mid + solve(level / 2,x - mid, y);
if (x > mid && y > mid) // 4
return 2 * mid * mid + solve(level / 2, x - mid, y - mid);
}
int main() {
fin >> K >> Y >> X;
fout << solve( 1 << K, X, Y);
return 0;
}