Cod sursa(job #1208556)
Utilizator | Data | 16 iulie 2014 01:04:27 | |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
int x, y, K;
ifstream fin ("fractal.in");
ofstream fout ("fractal.out");
int DEI (int k, int x, int y) {
if (!k)
return k;
k--;
int mid = (1 << k);
if (x <= mid && y <= mid)
return DEI (k, y, x);
if (x > mid && y <= mid)
return mid * mid + DEI (k, x - mid, y);
if (x > mid && y > mid)
return 2 * mid * mid + DEI (k, x - mid, y - mid);
return 3 * mid * mid + DEI (k, 2 * mid - y + 1, mid - x + 1);
}
int main() {
fin >> K >> y >> x;
fout << DEI(K, x, y);
}