Cod sursa(job #3372517)

Utilizator Seba1030Banescu Stefan Sebastian Seba1030 Data 4 noiembrie 2026 09:19:54
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

#define int long long

using namespace std;

int solve( int k, int x, int y ) {
    if( k == 0 ) {
        return 0;
    }
    int mid = 1LL << ( k - 1 );
    int block = 1LL << ( 2 * ( k - 1 ) );
    if( x <= mid && y <= mid ) {
        return solve( k - 1, y, x );
    }
    else if( x <= mid && y > mid ) {
        return block + solve( k - 1, x, y - mid );
    }
    else if( x > mid && y > mid ) {
        return 2 * block + solve( k - 1, x - mid, y - mid );
    }
    return 3 * block + solve( k - 1, mid - y + 1, 2 * mid - x + 1 );
}

signed main() {
    ifstream cin( "fractal.in" );
    ofstream cout( "fractal.out" );
    int k;
    int x, y;
    cin >> k >> x >> y;
    cout << solve( k, x, y );
    
    return 0;
}