Cod sursa(job #2036470)

Utilizator dragomirmanuelDragomir Manuel dragomirmanuel Data 10 octombrie 2017 18:44:56
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <cstdio>

using namespace std;

int Solve(int po, int x, int y)
{
    if(po==1)
        return 0;

    po/=2;

    if(x<=po && y<=po)
        return Solve(po,y,x);

    else if(x <= po && y>po)
        return po*po + Solve(po, x, y-po);

    else if(y<=po && x>po)
        return 3*po*po + Solve(po, po-y+1, 2*(po)-x+1);

    else
        return 2*po*po + Solve(po, x-po, y-po);
}

int main()
{
    freopen("fractal.in", "r", stdin);
     freopen("fractal.out", "w", stdout);

    int po, x, y, k;
    scanf("%d %d %d", &k, &x, &y);
    po = (1 << k);
    printf("%d", Solve(po,x,y));
    return 0;
}