Cod sursa(job #983320)

Utilizator smaraldaSmaranda Dinu smaralda Data 11 august 2013 15:36:30
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
int solve (int k, int x, int y) {
    if(k==0)
        return 0;

    int mij=(1<<(k-1));
    //stanga sus
    if(x <= mij && y <= mij)
        return solve(k-1,y,x);

    //stanga jos
    if(x > mij && y <= mij)
        return mij*mij + solve(k-1,x-mij,y);

    //dreapta jos
    if(x > mij && y > mij)
        return 2*mij*mij + solve(k-1,x-mij,y-mij);

    //dreapta sus
    return 3*mij*mij + solve(k-1,2*mij-y+1,mij-x+1);
}

int main() {
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);
    int i,k,x,y;
    scanf("%d%d%d",&k,&x,&y);
    i=x;
    x=y;
    y=i;
    printf("%d\n",solve(k,x,y));
    return 0;
}