Cod sursa(job #1404941)

Utilizator akaprosAna Kapros akapros Data 28 martie 2015 18:06:07
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,i,j,x,y;
int solve(int n,int x,int y)
{
    int l=1<<n;
    if (n==0) return 0;
    if (x<=l/2 && y<=l/2)
    return solve(n-1,y,x);
    else if (x>l/2 && y<=l/2)
    return solve(n-1,x-l/2,y)+((l*l)/4);
    else if (x<=l/2 && y>l/2)
    return solve(n-1,l-y+1,l/2+1-x)+((l*l*3)/4);
    /// else if (x>l/2 && y>l/2)
    return solve(n-1,x-l/2,y-l/2)+((l*l)/2);
}
int main()
{
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);
    scanf("%d %d %d",&n,&x,&y);
    printf("%d",solve(n,y,x));
    return 0;
}