Cod sursa(job #831402)

Utilizator Teodor94Teodor Plop Teodor94 Data 8 decembrie 2012 16:48:57
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>

int fractal(int lg, int line, int column) {
    if (lg == 1)
        return 0;

    lg >>= 1;

    if (line <= lg) {
        if (column <= lg)
            return fractal(lg, column, line);

        return lg * lg + fractal(lg, line, column - lg);
    }

    if (column > lg)
        return 2 * lg * lg + fractal(lg, line - lg, column - lg);

    return 3 * lg * lg + fractal(lg, lg - column + 1, 2 * lg - line + 1);
}

int main() {
    freopen("fractal.in", "r", stdin);
    freopen("fractal.out", "w", stdout);
    
    int k, x, y;
    scanf("%d%d%d", &k, &x, &y);

    printf("%d\n", fractal(1 << k, x, y));
}