Pagini recente » Cod sursa (job #1725553) | Cod sursa (job #1466775) | Cod sursa (job #131386) | Cod sursa (job #1896172) | Cod sursa (job #1378880)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long int n,tmp,x,y,len,mat[3][3],x1,y1;
int divimp(int n, int x, int y)
{
if(n<=0)
{
x1=x;
y1=y;
return 0;
}
len= 1<< n;
if(x<=len&&y<=len)
return 1ll*divimp(n-1,y,x);
if(x<=len&&y>len)
return 1ll*3*len*len+divimp(n-1,x,y-len);
if(x>len&&y<=len)
return 1ll*len*len+divimp(n-1,x-len,y);
if(x>len&&y>len)
return 1ll*2*len*len+divimp(n-1,x-len,y-len);
}
int main()
{
fin>>n>>x>>y;
tmp=n;
mat[1][1]=0;
mat[2][1]=1;
mat[2][2]=2;
mat[1][2]=3;
fout<<divimp(tmp,x,y)+mat[x1][y1];
return 0;
}