Cod sursa(job #1007524)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 8 octombrie 2013 23:54:47
Problema Fractal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<cstdio>
int n,i,j,k,s,l,c;
FILE *f,*g;
int main(){
    f=fopen("fractal.in","r");
    g=fopen("fractal.out","w");
    fscanf(f,"%d%d%d",&n,&l,&c);
    k=3;
    for(i=1;i<n;i++){
        k=k*4+3;
    }
    while(k>=1 && n>=0){
        k=(k-3)/4;
        n--;
        if(l<=(1<<n) && c<=(1<<n))
            continue;
        if(l<=(1<<n) && c>(1<<n)){
            s+=k+1;
            c-=(1<<n);
            continue;
        }
        if(l>(1<<n) && c>(1<<n)){
            s+=2*k+2;
            l-=(1<<n);
            c-=(1<<n);
            continue;
        }
        if(l>(1<<n) && c<=(1<<n)){
            s+=3*k+3;
            l-=(1<<n);
            continue;
        }
    }
    fprintf(g,"%d",s);
    fclose(f);
    fclose(g);
    return 0;
}