Cod sursa(job #2513012)

Utilizator david.teacaDavid Stefan Teaca david.teaca Data 22 decembrie 2019 11:51:22
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 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();
}