Cod sursa(job #2148017)

Utilizator robx12lnLinca Robert robx12ln Data 1 martie 2018 14:24:21
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int K, X, Y;
long long Sol = 0;
int solve( int N, int X, int Y ){
    if( N == 2 ){
        if( X == 2 && Y == 1 )
            return 1;
        if( X == 2 && Y == 2 )
            return 2;
        if( X == 1 && Y == 2 )
            return 3;
        return 0;
    }
    int M = N / 2;
    if( X <= M && Y <= M )
        return solve( M, Y, X );
    if( X <= M && Y > M )
        return 3 * M * M + solve( M, M - (Y - M) + 1, M - X + 1 );
    if( X > M && Y <= M )
        return M * M + solve( M, X - M, Y );
    if( X > M && Y > M )
        return 2 * M * M + solve( M, X - M, Y - M );
}
int main(){
    fin >> K >> Y >> X;
    fout << solve( (1<<K), X, Y );
    return 0;
}