Cod sursa(job #2875614)

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