Cod sursa(job #3346471)

Utilizator Gabriel_DaescuDaescu Gabriel Florin Gabriel_Daescu Data 13 martie 2026 19:36:59
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream  fin("fractal.in");
ofstream fout("fractal.out");

long long solve(int k, long long x, long long y)
{
    if(!k)
    {
        return 0;
    }

    long long pmijl=1LL<<(k-1);
    long long block=1LL<<(2*(k-1));

    if(x<=pmijl && y<=pmijl)
    {
        return solve(k-1,y,x);
    }

    if(x<=pmijl && y>pmijl)
    {
        return block+solve(k-1,x,y-pmijl);
    }

    if(x>pmijl && y>pmijl)
    {
        return 2*block+solve(k-1,x-pmijl,y-pmijl);
    }

    return 3*block+solve(k-1,pmijl-y+1,2*pmijl-x+1);
}

int main()
{
    long long k,x,y;

    fin>>k>>x>>y;

    fout<< solve(k,x,y) << "\n";

    return 0;
}