Cod sursa(job #2506718)

Utilizator adiaioanaAdia R. adiaioana Data 8 decembrie 2019 17:38:04
Problema Fractal Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream cin("fractal.in");
ofstream cout("fractal.out");
int p2[32];
int answer(int k, int x, int y);
int main()
{
    for(int i=0; i<=30; ++i)
        p2[i]=(1<<i);
    int k,x,y;
    cin>>k>>y>>x;
    cout<<answer(k,x,y)<<'\n';
    return 0;
}

int answer(int k, int x, int y)
{
    if(x==1 && y==1)
        return 0;
    if(x==1 && y==p2[k])
        return p2[k*2]-1;
    if(x>p2[k-1])
    {
        if(y>p2[k-1])
            return p2[2*(k-1)]+answer(k-1,x-p2[k-1],p2[k]-y+1);///
        else return p2[2*(k-1)]+answer(k-1,x-p2[k-1],y);///
    }
    else{
        if(y>p2[k-1])
            return 3*p2[2*(k-1)]+answer(k-1,p2[k]-y+1,x);///
        else return answer(k-1,y,x);///
    }
}