Pagini recente » Cod sursa (job #1352192) | Cod sursa (job #2127665) | Cod sursa (job #2661090) | Cod sursa (job #1082155) | Cod sursa (job #1015426)
#include <cstdio>
int k, x, y, sol;
int frac ( int k, int x, int y )
{
if ( k == 1 )
if ( x == 1 )
return y - 1;
else
return 4 - y;
else
{
int l1 = 1 << ( k - 1 ), l2 = 1 << ( 2 * k - 2 ), l3 = 1 << k ;
if ( x > l1 && y <= l1 )
return 3 * l2 + frac ( k - 1 , l1 + 1 - y , l3 + 1 - x );
if ( x > l1 && y > l1 )
return 2 * l2 + frac ( k - 1 , x - l1 , y - l1 );
if ( x <= l1 && y > l1 )
return l2 + frac ( k - 1 , x , y - l1 );
if ( x <= l1 && y <= l1 )
return frac ( k - 1 , y , x );
}
}
int main()
{
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
scanf("%d %d %d", &k, &x, &y);
printf("%d", frac(k, x, y));
return 0;
}