Cod sursa(job #2644382)

Utilizator Chirac_MateiChiriac Matei Chirac_Matei Data 24 august 2020 13:09:42
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda prbd2 Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("fractal.in");
ofstream fout ("fractal.out");
long long k,x,y,nx,ny;
long long rez(long long k, long long x, long long y)
{
    if(k==0)
        return 0;

    long long mij=1<<(k-1);

    if(x<=mij && y<=mij)
    {
        swap(x, y);

        return rez(k-1, x, y);
    }
    if(x>mij && y<=mij)
    {
        x-=mij;
        return mij*mij+rez(k-1, x, y);
    }
    if(x>mij && y>mij)
    {
        x-=mij;
        y-=mij;
        return 2*mij*mij+rez(k-1, x, y);
    }
    if(x<=mij && y>mij)
    {
        y-=mij;

        nx=mij-y+1;
        ny=mij-x+1;
        x=nx;
        y=ny;

        return 3*mij*mij+rez(k-1, x, y);
    }
}
int main()
{
    fin>>k>>y>>x;
    fout<<rez(k, x, y);
    return 0;
}