Cod sursa(job #1142342)

Utilizator PatrikStepan Patrik Patrik Data 13 martie 2014 18:49:05
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
    #include<cstdio>
    using namespace std;
    int K , x , y;

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

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