Cod sursa(job #988204)

Utilizator stefan.friptuPetru Stefan Friptu stefan.friptu Data 22 august 2013 12:04:12
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#include <math.h>

using namespace std;

int move(int l, int x, int y)
{
    if(l==1)
		return 0;
	l=l/2;
    if( x<=l && y<=l )
		return move(l,y,x);
    else	
		if( x<=l &&  y>l )
			return l*l+move(l,x,y-l);
    else
		if(x>l && y>l)
			return 2*l*l+move(l,x-l,y-l);
    else
		return 3*l*l+move(l,l-y+1, 2*l-x+1);
}

int main()
{
	freopen("fractal.in","r",stdin);
	freopen("fractal.out","w",stdout);
	
    int k,x,y,answer;
    scanf("%d%d%d",&k,&x,&y);
    answer=move((int)pow(2,k),x,y);
    
	printf("%d\n",answer);
	
    return 0;
}