Pagini recente » Cod sursa (job #2620332) | Cod sursa (job #714593) | Cod sursa (job #322506) | Cod sursa (job #373203) | Cod sursa (job #2340609)
#include <fstream>
using namespace std;
int dei(int k, int x, int y) {
int cad, nr;
if (x < 0)
x *= -1;
if (y < 0)
y *= -1;
if (k == 0)
return 1;
nr = (1 << k);
if (x <= nr / 2 && y <= nr / 2)
cad = 1;
else if (x <= nr / 2)
cad = 4;
else if (x > nr / 2 && y <= nr / 2)
cad = 2;
else
cad = 3;
if (cad == 3)
return (1 << (2 * k - 2)) * (cad - 1) + dei(k - 1, x - (1 << (k - 1)), y - (1 << (k - 1)));
else if (cad == 2)
return (1 << (2 * k - 2)) * (cad - 1) + dei(k - 1, x - (1 << (k - 1)), y);
else if (cad == 4)
return (1 << (2 * k - 2)) * (cad - 1) + dei(k - 1, x, y - (1 << (k - 1)));
else
return (1 << (2 * k - 2)) * (cad - 1) + dei(k - 1, x , y);
}
int main()
{
ifstream cin ("fractal.in");
ofstream cout ("fractal.out");
int k, x, y, aux;
cin >> k >> x >> y;
aux = x;
x = y;
y = aux;
cout << dei(k, x, y);
return 0;
}