Cod sursa(job #2486842)

Utilizator CristyXtremeSimion Cristian CristyXtreme Data 3 noiembrie 2019 15:54:01
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int fractal(int x, int y, int n, int colt1) {
    if (n == 0) {
        return 0;
    }
    int mid = 1 << (n - 1), quad_sum = 1 << (2 * (n - 1));
    if (x <= mid) {
        if (y <= mid)
            return fractal(y, x, n - 1, colt1);
        else
            return fractal(mid + 1 - (y - mid), mid + 1 - x, n - 1, colt1) + 3 * quad_sum;
    }
    else if (y <= mid) {
        return fractal(x - mid, y, n - 1, colt1) + quad_sum;
    }
    else {
        return fractal(x - mid, y - mid, n - 1, colt1) + 2 * quad_sum;
    }
}

int main() {
    int k, x, y;
    in >> k >> x >> y;
    out << fractal(y, x, k, 0) << '\n';
    return 0;
}