Cod sursa(job #2344026)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 14 februarie 2019 17:51:53
Problema Fractal Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int n,x,y,nr,l;
void hilbert(int x, int y){
    if(n>0){
        l=l/2;
        if(x<=l && y<=l){
            nr+=0*l*l;
            swap(x,y);
        }
        else if(x>l && y<=l){
            nr+=1*l*l;
            x-=l;
        }
        else if(x>l && y>l){
            nr+=2*l*l;
            x-=l;y-=l;
        }
        else{
            nr+=3*l*l;
            y-=l;
            if( (x<=l/2 && y<=l/2) || (x>l/2 && y>l/2) ){
                x=l-x+1;
                y=l-y+1;
            }
        }
        n--;
        hilbert(x,y);
    }
}
int main()
{   f>>n>>y>>x;
    l=1<<n;
    hilbert(x,y);
    g<<nr;
    return 0;
}