Cod sursa(job #1068529)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 28 decembrie 2013 14:10:39
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
#define lat (1<<ord)

using namespace std;

inline int Solve(int ord, int x, int y)
{
    if(ord==0)
        return 0;
    --ord;
    if(x<=lat && y<=lat)
        return Solve(ord,y,x);
    if(x>lat && y<=lat)
        return lat*lat + Solve(ord,x-lat,y);
    if(x>lat && y>lat)
        return 2*lat*lat + Solve(ord,x-lat,y-lat);
    return 3*lat*lat + Solve(ord,2*lat-y+1,lat-x+1);
}

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