Cod sursa(job #1429226)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 5 mai 2015 22:03:58
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;

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

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

int main()
{
    long long int k,x,y;
    fin >> k >> x >> y;
    fout << solve(k,y,x);
    return 0;
}