Cod sursa(job #2644311)

Utilizator adiaioanaAdia R. adiaioana Data 24 august 2020 11:26:14
Problema Fractal Scor 30
Compilator cpp-64 Status done
Runda prbd2 Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream cin("fractal.in");
ofstream cout("fractal.out");

int ans(int k,int x, int y)
{
    int nx, ny, p2=(1<<(k-1));
    if(x==1 && y==1)
        return 0;
    if(x==1 && y==(1<<k))
        return (1<<(2*k))-1;
    if(x<=p2 && y<=p2)///
        return ans(k-1,y,x);
    else if(x<=p2){
        nx=(1<<k)-y+1;
        ny=(1<<(k-1))-x+1;
        return 3*(1<<(2*k-2))+ans(k-1,nx,ny);
    }
    else if(y<=p2){
        nx=x-p2;
        ny=y;
        return (1<<(2*k-2))+ans(k-1,nx,ny);
    }
    else{
        nx=x-p2;
        ny=y-p2;
        return 2*(1<<(2*k-2))+ans(k-1,nx,ny);
    }
}
int main()
{
    int k,x,y;
    cin>>k>>x>>y;
    cout<<ans(k,x,y)<<'\n';
    return 0;
}