Pagini recente » Cod sursa (job #2432725) | Cod sursa (job #869347) | Cod sursa (job #756727) | Cod sursa (job #32162) | Cod sursa (job #1361466)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long long s,k,y,x,sol,l,c,i;
int divimp(long long nr)
{
if(nr>1)
{
if(x<=nr&&y<=nr)
{
l=y;
y=x;
x=l;
divimp(nr/2);
}
else
{
if(x<=nr&&y>nr)
{
c=x;
y-=nr;
x=nr-y+1;
y=nr-c+1;
s+=3*nr*nr;
divimp(nr/2);
}
else
{
if(x>nr&&y<=nr)
{
x-=nr;
s+=nr*nr;
divimp(nr/2);
}
else
{
if(x>nr&&y>nr)
{
x-=nr;
y-=nr;
s+=2*nr*nr;
divimp(nr/2);
}
}
}
}
}
return s;
}
int main()
{
fin>>k>>y>>x;
long long nr=1;
for(i=1;i<=k;i++)
{
nr*=2;
}
sol=divimp(nr/2);
if(x==2&&y==1)
sol+=1;
else
if(x==2&&y==2)
sol+=2;
else
if(x==1&&y==2)
sol+=3;
fout<<sol;
return 0;
}