Pagini recente » Cod sursa (job #2734578) | Cod sursa (job #1607498) | Cod sursa (job #2142818) | Cod sursa (job #2727628) | Cod sursa (job #568639)
Cod sursa(job #568639)
#include<stdio.h>
int K, x, y;
inline int Steps( int Ord, int X, int Y )
{
if( Ord )
{
int L = ( 1<<(Ord-1) );
if( Y <= Ord && X <= Ord ) return Steps( Ord-1, Y, X );
else if( Y <= Ord && X > Ord ) return L*L + Steps( Ord-1, X-L, Y );
else if( Y > Ord && X > Ord ) return 2*L*L + Steps( Ord-1, X-L, Y-L );
else if( Y > Ord && X <= Ord ) return 3*L*L + Steps( Ord-1, 2*L-Y+1, L-X+1 );
}
return 0;
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
scanf("%d%d%d", &K, &x, &y);
printf("%d\n", Steps( K, y, x ));
return 0;
}