Cod sursa(job #867943)

Utilizator mihai995mihai995 mihai995 Data 30 ianuarie 2013 14:30:12
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#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;
}