Cod sursa(job #2914369)

Utilizator maliiDanis Malina malii Data 19 iulie 2022 19:02:34
Problema Fractal Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>

using namespace std;

int k ,x ,y, n = 2 ;

int solve(int N, int X, int Y){

    if( N == 1 ){
        return 0;
    }

    if(X <= N/2){
        if( Y <= N/2){
            return solve(N/2, X, Y);
        }
        else{
            return N*N/4+solve(N/2, X, Y - N/2);
        }
    } else{
        if( Y <= N/2){
            return N*N/4*3+solve(N/2, X - N/2, Y );
        } else{
            return N*N/2+solve(N/2, X - N/2, Y - N/2);
        }
    }
}

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

    scanf("%d %d %d", &k, &x, &y);

    for(int i = 1; i <= k ; i++){
        n *= 2;
    }

    int sol = solve(n ,x ,y);

    cout << sol;

}