Cod sursa(job #568646)

Utilizator stay_awake77Cangea Catalina stay_awake77 Data 31 martie 2011 15:56:02
Problema Fractal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>

int K, x, y, rez = 0;

inline void Steps( int Ord, int X, int Y )
{
	if( Ord )
	{
		int L = 1<<(Ord-1) ;

		if( Y <= Ord && X <= Ord ) Steps( Ord-1, Y, X );
		else if( Y <= Ord && X > Ord ) { rez += L*L; Steps( Ord-1, X-L, Y ); }
		else if( Y > Ord && X > Ord ) { rez += 2*L*L; Steps( Ord-1, X-L, Y-L ); }
		else if( Y > Ord && X <= Ord ) { rez += 3*L*L; Steps( Ord-1, 2*L-Y+1, L-X+1 ); }
	}
}

int main()
{
	freopen("fractal.in","r",stdin);
	freopen("fractal.out","w",stdout);

	scanf("%d%d%d", &K, &x, &y);
	Steps( K, y, x );

	printf("%d\n", rez);

	return 0;
}