Pagini recente » Cod sursa (job #1504668) | Cod sursa (job #2187248) | Cod sursa (job #3330766) | Cod sursa (job #1489322) | Cod sursa (job #3319670)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int k, x, y;
int solve(int k, int x, int y) {
if (k == 0) {
return 0;
}
int mid = (1 << (k - 1));
int value = (1 << (2 * (k - 1)));
if (x <= mid && y <= mid) {
return solve(k - 1, y, x);
}
if (x <= mid && y > mid) {
return value + solve(k - 1, x, y - mid);
}
if (x > mid && y > mid) {
return 2 * value + solve(k - 1, x - mid, y - mid);
}
return 3 * value + solve(k - 1, mid - y + 1, (1 << k) - x + 1);
}
int main() {
fin >> k >> x >> y;
fout << solve(k, x, y);
return 0;
}