Mai intai trebuie sa te autentifici.
Cod sursa(job #30939)
Utilizator | Data | 15 martie 2007 12:34:55 | |
---|---|---|---|
Problema | Fractal | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<stdio.h>
#include<math.h>
unsigned int i,j,k;
long curba(int i,int j,int k)
{if(k==0) return 0;
long n=pow(2,k-1),m=n*n;
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("%d %d %d",&k,&j,&i);
printf("%ld",curba(i,j,k));
fclose(stdout);
return 0;}