Pagini recente » Cod sursa (job #1948380) | Cod sursa (job #2314420) | Cod sursa (job #553187) | Cod sursa (job #70735) | Cod sursa (job #998157)
Cod sursa(job #998157)
#include <cstdio>
using namespace std;
int Go(int K, int X, int Y)
{
if(K == 0) return 0;
K --;
int Mid = (1 << K);
if(X <= Mid && Y <= Mid) return Go(K, Y, X);
else if(X > Mid && Y <= Mid) return Mid * Mid + Go(K, X - Mid, Y);
else if(X > Mid && Y > Mid) return 2 * Mid * Mid + Go(K, X - Mid, Y - Mid);
else return 3 * Mid * Mid + Go(K, 2 * Mid - Y + 1, Mid - X + 1);
}
int main()
{
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
int K, X, Y;
scanf("%i %i %i", &K, &X, &Y);
printf("%i\n", Go(K, Y, X));
return 0;
}