Cod sursa(job #2448930)

Utilizator Stefan_PiscuPiscu Stefan Constantin Stefan_Piscu Data 17 august 2019 17:16:30
Problema Fractal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
using namespace std;

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

int k,x, y;

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

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