Cod sursa(job #1731345)

Utilizator andreigeorge08Sandu Ciorba andreigeorge08 Data 18 iulie 2016 18:41:51
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

ifstream fin("fractal.in");
ofstream fout("fractal.out");

int k,x,y;

int fractal( int k , int x , int y )
{
    int m = 1 << ( k - 1 );

    if( k == 1 )
    {
        if( x == 1 && y == 1 )
            return 0;
        if( x == 1 && y == 2 )
            return 1;
        if( x == 2 && y == 2 )
            return 2;
        else
            return 3;
    }

    if( x <= m && y <= m )
        return fractal( k - 1 , y , x );
    else if( x > m && y <= m )
        return fractal( k - 1 , m + 1 - y , m + 1 - ( x - m ) ) + m * m * 3;
    else if( x <= m && y > m )
        return fractal( k - 1 , x , y - m ) + m * m;
    else if( x > m && y > m )
        return fractal( k - 1 , x - m , y - m ) + m * m * 2;
}

int main()
{
    fin>>k>>x>>y;

    fout<<fractal( k , x , y );

    return 0;
}