Cod sursa(job #1481424)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 4 septembrie 2015 14:08:29
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
using namespace std;
int k, x, y;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int rec(int k){
    if(k == 0){
        return 0;
    }
    int m = (1 << (k - 1)) * (1 << (k - 1));
    int n = (1 << (k - 1));
    int ii, jj;
    if(n >= x){
        if(n >= y){
            ii = x;
            jj = y;
            x = jj;
            y = ii;
            return rec(k - 1);
        }
        else{
            y -= n;
            ii = x;
            jj = y;
            x = n - jj + 1;
            y = n - ii + 1;
            return 3 * m + rec(k - 1);
        }
    }
    if(n >= y){
        x -= n;
        return m + rec( k - 1);
    }
    else{
        x -= n;
        y -=n;
        return 2 * m + rec(k - 1);
    }
}
int main(){
    fin>> k >> y >> x;
    fout<< rec(k) <<"\n";
    return 0;
}