Cod sursa(job #1754387)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 8 septembrie 2016 01:02:14
Problema Fractal Scor 100
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[40],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<=2*k;i++)
        d[i]=d[i-1]*2;
    frac(k,x,y);
    fout<<s<<"\n";
    return 0;
}