Cod sursa(job #712155)

Utilizator iarbaCrestez Paul iarba Data 13 martie 2012 08:29:56
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#include <math.h>
long n,m,p,s,a;
FILE *f,*g;

long cauta(long x,long y,long k)
{
	char cadran;
	long r;
	k/=2;
	if((x<=k)&&(y<=k)){cadran=1;}
	if((x>k)&&(y<=k)){cadran=2;}
	if((x>k)&&(y>k)){cadran=3;}
	if((x<=k)&&(y>k)){cadran=4;}
	if(k-1){
	if(cadran==1){r=k*k+1-cauta(y,k-x+1,k);}
	if(cadran==2){r=k*k+cauta(x-k,y,k);}
	if(cadran==3){r=2*k*k+cauta(x-k,y-k,k);}
	if(cadran==4){r=4*k*k+1-cauta(2*k-y+1,x,k);}
	       }
	else{r=cadran;}
return r;
}

int main()
{
	f=fopen("fractal.in","r");
	g=fopen("fractal.out","w");
	fscanf(f,"%ld%ld%ld",&p,&m,&n);
	s=pow(2,p);
	a=p;
	p=cauta(n,m,s);
	fprintf(g,"%ld",p-1);
	fclose(f);fclose(g);
return 0;
}