Cod sursa(job #3319670)

Utilizator BuzdiBuzdugan Rares Andrei Buzdi Data 2 noiembrie 2025 13:51:21
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream fin("fractal.in");
ofstream fout("fractal.out");

int k, x, y;

int solve(int k, int x, int y) {
    if (k == 0) {
        return 0;
    }

    int mid = (1 << (k - 1));
    int value = (1 << (2 * (k - 1)));

    if (x <= mid && y <= mid) {
        return solve(k - 1, y, x);
    }
    if (x <= mid && y > mid) {
        return value + solve(k - 1, x, y - mid);
    }
    if (x > mid && y > mid) {
        return 2 * value + solve(k - 1, x - mid, y - mid);
    }
    return 3 * value + solve(k - 1, mid - y + 1, (1 << k) - x + 1);
}

int main() {
    fin >> k >> x >> y;
    fout << solve(k, x, y);
    return 0;
}