Cod sursa(job #938547)

Utilizator Kira96Denis Mita Kira96 Data 12 aprilie 2013 20:56:06
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
long long k,x,y,i,j,len[16],lat[16],sch;
long long divide(long long dim,long long i,long long j)
{
	long long mij=lat[dim]/2;
	if(dim==0)
		return 0;
	if(i<=mij&&j<=mij)
		return divide(dim-1,j,i);
	if(i>mij&&j<=mij)
		return divide(dim-1,i-mij,j)+len[dim-1];
	if(i>mij&&j>mij)
		return divide(dim-1,i-mij,j-mij)+2*len[dim-1];
	if(i<=mij&&j>mij)
		return divide(dim-1,2*mij-j+1,mij-i+1)+3*len[dim-1];
}		
int main ()
{
	f>>k>>y>>x;
	len[0]=1;
	len[1]=4;
	for(i=2;i<=k;++i)
		len[i]=len[i-1]*4;
	lat[0]=1;
	lat[1]=2;
	for(i=2;i<=k;++i)
		lat[i]=2*lat[i-1];
	g<<divide(k,x,y);
	return 0;
}