Cod sursa(job #2813668)

Utilizator barbuionBarbu Ion barbuion Data 7 decembrie 2021 01:19:15
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
int n,x,y,l,val;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int main()
{
    fin>>n>>x>>y;
    l=1<<n;
    long long val=0;
    while(l>0){
            l=l/2;  /// actualizam latura  la latura matricii de ordin inferior
        if(x<=l&&y<=l)  /// cadranul1
        {
            swap(x,y);
        }
        else
             if(y>l&&x<=l) /// cadranul 2
        {
            val+=l*l;
            y=y-l; /// actualizare linie
        }
        else
            if(y>l&&x>l) /// cadranul 3
        {
            val+=2ll*l*l;
            y-=l; x-=l; /// actualizare atat linie cat si coloana
        }
        else
        {
            val+=3ll*l*l;
            x-=l;
            int aux=l-x+1;
            x=l-y+1;
            y=aux;

        }

    }
    fout<<val;
}