Cod sursa(job #2510574)

Utilizator Ioana_GaborGabor Ioana Ioana_Gabor Data 16 decembrie 2019 21:47:25
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb

#include <iostream>
#include <fstream>

using namespace std;

ifstream f("fractal.in");
ofstream g("fractal.out");

int k,x,y,cnt;

int main(){
    f>>k>>x>>y;
    for(int i=k;i>=1;i--){
        if(x<=(1<<(i-1))&&y<=(1<<(i-1))){
            swap(x,y);
        }else if(x<=(1<<(i-1))&&y>(1<<(i-1))){
            cnt+=(1<<(i-1))*(1<<(i-1));
            y-=(1<<(i-1));
        }else if(x>(1<<(i-1))&&y>(1<<(i-1))){
            cnt+=2*(1<<(i-1))*(1<<(i-1));
            y-=(1<<(i-1));
            x-=(1<<(i-1));
        }else if(x>(1<<(i-1))&&y<=(1<<(i-1))){
            cnt+=3*(1<<(i-1))*(1<<(i-1));
            x-=(1<<(i-1));
            swap(x,y);
            y=(1<<(i-1))-y+1;
            x=(1<<(i-1))-x+1;
        }
    }
    g<<cnt;
    f.close();
    g.close();
}