Pagini recente » Cod sursa (job #1567803) | Cod sursa (job #2922148) | Cod sursa (job #1273117) | Statistici Stefan S V (StefanSV) | Cod sursa (job #744587)
Cod sursa(job #744587)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("fractal.in");
ofstream out("fractal.out");
int solve(int k, int x, int y)
{
if(!k) return 0;
int s = 1 << (k - 1);
bool up = (y <= s);
bool left = (x <= s);
if(!up) y -= s;
if(!left) x -= s;
if(up & left)
return solve(k - 1, y, x);
else
if(!up & left)
return s * s + solve(k - 1, x, y);
else
if(!up)
return 2 * s * s + solve(k - 1, x, y);
else
return 3 * s * s + solve(k - 1, s + 1 - y, s + 1 - x);
}
int main()
{
int k, x, y;
in >> k >> x >> y;
out << solve(k, x, y);
return 0;
}