Pagini recente » Cod sursa (job #2180264) | Cod sursa (job #555786) | Cod sursa (job #226798) | Cod sursa (job #2433110) | Cod sursa (job #967097)
Cod sursa(job #967097)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int K, X, Y;
int compute_fractal(int k, int x, int y);
int main() {
fin >> K >> X >> Y;
fout << compute_fractal(K, Y, X);
return 0;
}
int compute_fractal(int k, int x, int y) {
if (k == 0) return 0;
int l = (1 << (k - 1));
int a = l * l;
if (x <= l && y <= l) {
return compute_fractal(k - 1, y, x);
}
if (x > l && y <= l) {
return compute_fractal(k - 1, x - l, y) + a;
}
if (x > l && y > l) {
return compute_fractal(k - 1, x - l, y - l) + 2 * a;
}
return compute_fractal(k - 1, 2 * l - y + 1, l - x + 1) + 3 * a;
}