Pagini recente » Cod sursa (job #911657) | Cod sursa (job #2377594) | Cod sursa (job #2707186) | Cod sursa (job #2707185) | Cod sursa (job #2644382)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("fractal.in");
ofstream fout ("fractal.out");
long long k,x,y,nx,ny;
long long rez(long long k, long long x, long long y)
{
if(k==0)
return 0;
long long mij=1<<(k-1);
if(x<=mij && y<=mij)
{
swap(x, y);
return rez(k-1, x, y);
}
if(x>mij && y<=mij)
{
x-=mij;
return mij*mij+rez(k-1, x, y);
}
if(x>mij && y>mij)
{
x-=mij;
y-=mij;
return 2*mij*mij+rez(k-1, x, y);
}
if(x<=mij && y>mij)
{
y-=mij;
nx=mij-y+1;
ny=mij-x+1;
x=nx;
y=ny;
return 3*mij*mij+rez(k-1, x, y);
}
}
int main()
{
fin>>k>>y>>x;
fout<<rez(k, x, y);
return 0;
}