Pagini recente » Borderou de evaluare (job #413612) | Borderou de evaluare (job #2188625) | Cod sursa (job #2661823) | Borderou de evaluare (job #2655250) | Cod sursa (job #568652)
Cod sursa(job #568652)
#include<stdio.h>
int K, xx, yy, rez = 0;
inline void Steps( int Ord, int X, int Y )
{
if( Ord > 0 )
{
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, &xx, &yy);
Steps( K, yy, xx );
printf("%d\n", rez);
return 0;
}