Cod sursa(job #1403062)

Utilizator horatiu11Ilie Ovidiu Horatiu horatiu11 Data 26 martie 2015 23:40:01
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
//horatiu11
# include <cstdio>
using namespace std;
int k,x,y;
inline int divide_impera(int k, int x, int y)
{
    int p;
    if(k==0)return 0;
    else
    {
        --k; p=1<<k;
        if(x<=p && y<=p)return divide_impera(k,y,x);
        else if(x<=p)return 3*p*p+divide_impera(k,2*p-y+1,p-x+1);
        else if(y<=p)return p*p+divide_impera(k,x-p,y);
        else return 2*p*p+divide_impera(k,x-p,y-p);
    }
}
int main()
{
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);
    scanf("%d%d%d",&k,&x,&y);
    printf("%d\n",divide_impera(k,y,x));
    return 0;
}