Cod sursa(job #1386175)

Utilizator laurageorgescuLaura Georgescu laurageorgescu Data 12 martie 2015 19:27:25
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>

using namespace std;

ifstream fin( "fractal.in" );
ofstream fout( "fractal.out" );

int solve( int k, int x, int y ) {
    if ( k == 0 ) {
        return 0;
    }
    int l = 1 << (k - 1);
    if ( x <= l ) {
        if ( y <= l ) {
            return solve( k - 1, y, x );
        } else {
            return solve( k - 1, l + 1 - y + l, l + 1 - x ) + 3 * l * l;
        }
    } else {
        if ( y <= l ) {
            return solve( k - 1, x - l, y ) + l * l;
        } else {
            return solve( k - 1, x - l, y - l ) + 2 * l * l;
        }
    }
}
int main() {
    int k, x, y;
    fin >> k >> y >> x;
    fout << solve( k, x, y ) << "\n";
    fin.close();
    fout.close();
    return 0;
}