Pagini recente » Cod sursa (job #2887222) | Cod sursa (job #105233) | Cod sursa (job #2625054) | Cod sursa (job #3249537) | Cod sursa (job #1311722)
#include<fstream>
using namespace std;
fstream fin,fout;
int d[16];
void f(int y,int x,int k,int &s)
{
if(k==0)
{
return;
}
if(y<=d[k-1]&&x<=d[k-1])
{
f(x,y,k-1,s);
}
else
{
if(y>d[k-1]&&x<=d[k-1])
{
s=s+d[k-1]*d[k-1];
f(y-d[k-1],x,k-1,s);
}
else
{
if(y>d[k-1]&&x>d[k-1])
{
s=s+2*d[k-1]*d[k-1];
f(y-d[k-1],x-d[k-1],k-1,s);
}
else
{
s=s+3*d[k-1]*d[k-1];
f(2*d[k-1]-x+1,d[k-1]-y+1,k-1,s);
}
}
}
}
int k,x,s,y,i;
int main()
{
ifstream fin("fractal.in");
ofstream fout("fractal.out");
fin>>k>>x>>y;
d[0]=1;
for(i=1;i<=15;i++)
{
d[i]=d[i-1]*2;
}
f(y,x,k,s);
fout<<s;
return 0;
}