Cod sursa(job #132622)

Utilizator razvi9Jurca Razvan razvi9 Data 6 februarie 2008 11:31:47
Problema Fractal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#include<math.h>
long long i,j,k;
long long curba(long long i,long long j,long long k)
{if(k==0) return 0;
 long long n=pow(2,k-1),m=n*n;
 long long nr=0; 
 unsigned int a;
 if(i<=n)if(j<=n){a=i;i=j;j=a;j=n-j+1;nr=n*n-curba(i,j,k-1);}
	 else{nr=4*n*n; j=j-n;a=i;i=j;j=a;i=n-i+1;nr=nr-curba(i,j,k-1);}
 else if(j<=n) {nr=n*n;i=i-n; nr=nr+curba(i,j,k-1);}
      else {nr=n*n*2;i=i-n;j=j-n; nr=nr+curba(i,j,k-1);}
 return nr;
}
int main()
{freopen("fractal.in","r",stdin);
 freopen("fractal.out","w",stdout);
 scanf("%lld %lld %lld",&k,&j,&i);
 printf("%lld",curba(i,j,k));
 fclose(stdout);
 return 0;}