Cod sursa(job #1424705)

Utilizator DysKodeTurturica Razvan DysKode Data 25 aprilie 2015 13:23:24
Problema Fractal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>

using namespace std;

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

int ans,k,x,y,v[3][3];

int Put(int x, int y)
{
    int ans = 1;
    while( y-- )
        ans *= x;
    return ans;
}

int Solve(int k, int x, int y, int trolololo)
{
    int mid = Put( 2 , k - 1 );

    if( trolololo == 1 )
    {
        x = mid * 2 - x + 1;
    }

    if( k == 0 )
        return 0;

    if( x <= mid && y <= mid )
    {
        return Solve( k - 1 , y , x , 0 );
    }
    else if( x <= mid && y > mid )
    {
        return mid * mid * 3 + Solve( k - 1 , 2 * mid - y + 1 , mid - x + 1 , 0 );
    }
    else if( x > mid && y > mid )
    {
        return mid * mid * 2 + Solve( k - 1 , x - mid , y , 0 );
    }
    else
    {
        x -= mid;
        return mid * mid + Solve( k - 1 , x - mid , y , 0 );
    }

}

int main()
{
    fin>>k>>x>>y;
    v[ 1 ][ 1 ] = 0;
    v[ 1 ][ 2 ] = 1;
    v[ 2 ][ 2 ] = 2;
    v[ 2 ][ 1 ] = 3;

    fout<<Solve( k , x , y , 0 );

return 0;
}