Cod sursa(job #1231085)

Utilizator rzvrzvNicolescu Razvan rzvrzv Data 19 septembrie 2014 14:59:33
Problema Fractal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>

using namespace std;

int k,x,y;

int solve(int gr,int x,int y)
{
    int aux;
    if(gr<0)
    {
        return 0;
    }
    aux=1<<gr;
    if((x<=aux)&&(y<=aux))
    {
        return solve(gr-1,x,y);
    }
    if((x>aux)&&(y<=aux))
    {
        return aux*aux+solve(gr-1,x-aux,y);
    }
    if((x>aux)&&(y>aux))
    {
        return aux*aux+solve(gr-1,x-aux,y-aux);
    }
    return 3*aux*aux+solve(gr-1,2*aux-y+1,aux-x+1);
}

int main()
{
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);
    scanf("%d%d%d",&k,&x,&y);
    printf("%d\n",solve(k,x,y));
}