Cod sursa(job #1248121)

Utilizator bogdan10bosBogdan Sitaru bogdan10bos Data 24 octombrie 2014 18:24:16
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>

using namespace std;
int n, x, y;

int F(int k, int x, int y)
{
    if(k==1)
        return 0;

    k/=2;
    int ptr=k*k;

    if(x<=k&&y<=k)
        return F(k, y, x);
    if(x<=k)
    {
        y-=k;
        return (ptr+F(k, x, y));
    }
    if(y<=k)
    {
        x-=k;
        return (3*ptr+F(k, k+1-y, k+1-x));
    }
    x-=k;y-=k;
    return (2*ptr+F(k, x, y));
}

int main()
{
    freopen("fractal.in", "r", stdin);
    freopen("fractal.out", "w", stdout);
    scanf("%d%d%d", &n, &y, &x);
    printf("%d", F((1<<n), y, x));
    return 0;
}