Pagini recente » Cod sursa (job #326062) | Cod sursa (job #404459) | Cod sursa (job #729259) | Cod sursa (job #2865414) | 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;
}