Pagini recente » Cod sursa (job #1157145) | Cod sursa (job #2134845) | Cod sursa (job #603634) | Cod sursa (job #3237139) | Cod sursa (job #1232156)
#include <fstream>
using namespace std;
int S;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
void Solve(int K, int x, int y) {
if (!K)
return;
int mid = 1 << (K - 1), area = mid * mid;
if (x < mid) {
if (y < mid) {
Solve(K - 1, y, x);
} else {
S += 3 * area;
Solve(K - 1, (1 << K) - y - 1, mid - x - 1);
}
} else {
if (y < mid) {
S += area;
Solve(K - 1, x - mid, y);
} else {
S += 2 * area;
Solve(K - 1, x - mid, y - mid);
}
}
}
int main() {
int K, x, y;
fin >> K >> x >> y;
--x;
--y;
Solve(K, y, x);
fout << S << "\n";
return 0;
}