Cod sursa(job #1424719)

Utilizator DysKodeTurturica Razvan DysKode Data 25 aprilie 2015 13:35:18
Problema Fractal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 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 mid = Put( 2 , k - 1 );

    if( k == 0 )
        return 0;

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

}

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

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

return 0;
}