Cod sursa(job #2125040)

Utilizator mateibanuBanu Matei Costin mateibanu Data 7 februarie 2018 21:16:14
Problema Fractal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;


int t;

void fr(int n, int x, int y, int k){
    if (!n){
        return;
    }
    k>>=1;
    if (x<=k){
        if (y<=k){
            fr(n-1,x,y,k);
        }
        else{
            t+=3*k*k;
        fr(n-1,x,y-k,k);
        }
    }
    else{
        if (y<=k){
            t+=k*k;
            fr(n-1,x-k,y,k);
        }
        else{
            t+=2*k*k;
            fr(n-1,x-k,y-k,k);
        }
    }
}

int main()
{
    freopen("fractal.in","r",stdin);
    freopen("fractal.out","w",stdout);

    int n,x,y,k=1,i;

    scanf("%d%d%d",&n,&x,&y);
    //swap(x,y);
    for (i=1;i<=n;i++) k*=2;
    fr(n,x,y,k);

    printf("%d",t);
    return 0;
}