Cod sursa(job #3341456)

Utilizator Denis2Baran Denis-Constantin Denis2 Data 19 februarie 2026 17:04:52
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;

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

    long long half = 1LL << (k - 1);
    long long block = 1LL << (2 * (k - 1));

    if (x <= half && y <= half)
        return solve(k - 1, y, x);
    
    else if (x <= half && y > half) 
        return block + solve(k - 1, x, y - half);
    
    else if (x > half && y > half)
        return 2 * block + solve(k - 1, x - half, y - half);

    return 3 * block + solve(k - 1, half - y + 1, 2 * half - x + 1);
}

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

    int K;
    long long x, y;
    fin >> K >> x >> y;

    fout << solve(K, x, y);
    return 0;
}