Cod sursa(job #1466753)

Utilizator greenday28stoienescu paul greenday28 Data 30 iulie 2015 10:26:17
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
using namespace std;
int recursiv(int x,int y,int z)
{
    int v;
    v=(1<<(x-1));
    if(x==1)
    {
        if(y==1 && z==1)
            return 0;
        if(y==2 && z==1)
            return 3;
        if(y==2 && z==2)
            return 2;
        else
            return 1;
    }
    if( y <= v && z <= v )
    {
        return recursiv( x - 1 , z , y );
    }
    else if( y > v && z <= v )
    {
        return recursiv( x- 1 , v + 1 - z , v + 1 - ( y - v ) ) + 3*v * v ;
    }
    else if( y <= v && z > v )
    {
        return recursiv( x - 1 , y , z - v ) + v* v;
    }
    else if( y > v && z > v )
    {
        return recursiv( x - 1 , y - v , z - v) + v * v * 2;
    }
    return 0;

}

int main()
{
    ifstream in("fractal.in");
    ofstream out("fractal.out");
    int k,x,y;
    in>>k>>x>>y;
    out<<recursiv(k,x,y);
    return 0;
}