Cod sursa(job #589278)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 11 mai 2011 18:36:34
Problema Fractal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb

#include <cstdio>
#include <fstream>

using namespace std;

int f (int k,int x,int y){

    if(k==1)
        if(x==1)
            return 1;
        else
            if(y==1)
                return 4;
            else
                return 3;
    --k;
    if(x<=(1<<k)){
        if(y<=(1<<k))
            return (1<<k)*(1<<k)+1-f(k,(1<<k)+1-y,x);
        return (1<<k)*(1<<k)+f(k,x,y-(1<<k));
    }
    if(y<=(1<<k))
        return (1<<(k+1))*(1<<(k+1))+1-f(k,y,(1<<(k+1))+1-x);

return 2*(1<<k)*(1<<k)+f(k,x-(1<<k),y-(1<<k));}

int main ()
{

    ifstream in ("fractal.in");
    freopen ("fractal.out","w",stdout);
    int k,x,y;
    in>>k>>x>>y;
    printf("%d",f(k,x,y)-1);

return 0;}