Cod sursa(job #925768)

Utilizator costinbanuCostin Banu costinbanu Data 24 martie 2013 18:48:27
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
using namespace std;

int f(int k, int x, int y ) {
    if (k == 0)
        return 0;
    if (x <= k && y <= k)
        return f(k/2, y, x );
    if (x > k && y <= k)
        return k*k + f(k/2, x-k, y);
    if (x > k && y > k)
        return 2*k*k + f(k/2, x-k, y-k);
    if (x <= k && y > k)
        return 3*k*k + f(k/2, 2*k-y+1, k-x+1);
}

int main() {
    FILE *in = fopen("fractal.in", "r"), *out = fopen("fractal.out", "w");
    if (in && out) {
        int k, x, y;
        fscanf(in,"%d%d%d", &k, &x, &y);
        k = 1<<(k-1);
        fprintf(out, "%d", f(k, y, x));
        fclose(in);
        fclose(out);
    }
    return 0;
}