Cod sursa(job #961536)

Utilizator dragosnDragos Marian dragosn Data 12 iunie 2013 15:58:29
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 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;
}