Cod sursa(job #2875635)

Utilizator Cyg_PEduardPetcu Eduard Cyg_PEduard Data 22 martie 2022 01:00:17
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long long x,y,aux;
int fractalcalc(int k){
    if(k==0)
        return 0;
    long long midx,midy,val=pow(2,k-1);
    midx = midy = val;
    if(x<=midx && y<=midy)
    {
        aux = x;
        x = y;
        y = aux;
       return fractalcalc(k-1);
    }
    else if(x<=midx && y>midy)
    {
        y -= val;
        return val * val + fractalcalc(k-1);
    }
    else if(x>midx && y>midy)
    {
        x-=val;
        y-=val;
        return 2 * val * val + fractalcalc(k-1);
    }
    else if(x>midx && y<=midy)
    {
        x-=val;
        aux = x;
        x = val - y+1;
        y = val - aux+1;
        return 3 * val * val + fractalcalc(k-1);
    }
}
int main() {
    int k;
    long long lim;
    fin>>k>>x>>y;
    fout<<fractalcalc(k);
    return 0;
}