Cod sursa(job #1754384)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 8 septembrie 2016 00:54:20
Problema Fractal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
# include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int d[20],s,k,x,y,i;
void frac(int k,int x,int y){
    if(k!=0){
        if(x<=d[k-1]&&y<=d[k-1])
            frac(k-1,y,x);
        if(x<=d[k-1]&&y>d[k-1]){
            s+=d[2*(k-1)];
            frac(k-1,x,y-d[k-1]);
        }
        if(x>d[k-1]&&y>d[k-1]){
            s+=2*d[2*(k-1)];
            frac(k-1,x-d[k-1],y-d[k-1]);
        }
        if(x>d[k-1]&&y<=d[k-1]){
            s+=3*d[2*(k-1)];
            frac(k-1,d[k-1]-y+1,d[k]-x+1);
        }
    }
}
int main () {
    fin>>k>>x>>y;
    d[0]=1;
    for(i=1;i<=k;i++)
        d[i]=d[i-1]*2;
    frac(k,x,y);
    fout<<s<<"\n";
    return 0;
}