Pagini recente » Cod sursa (job #842001) | Cod sursa (job #2619898) | Cod sursa (job #2176851) | Cod sursa (job #452604) | Cod sursa (job #961536)
Cod sursa(job #961536)
#include <fstream>
using namespace std;
ifstream in("fractal.in");
ofstream out("fractal.out");
int fractal(int n, int x, int y){
if (!n)
return 0;
int side = 1 << (n - 1), drum = side * side;
if (x <= side && y <= side)
return fractal(n - 1, y, x);
if (x <= side)
return drum + fractal(n - 1, x, y - side);
x -= side;
if (y > side)
return 2 * drum + fractal(n - 1, x, y - side);
return 3 * drum + fractal(n - 1, side - y + 1, side - x + 1);
}
int main()
{
int n, x, y;
in >> n >> x >> y;
out << fractal(n, x, y) << "\n";
return 0;
}