Pagini recente » Cod sursa (job #2777399) | Cod sursa (job #681638) | Cod sursa (job #2847376) | Cod sursa (job #3225114) | Cod sursa (job #938547)
Cod sursa(job #938547)
#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;
}