Pagini recente » Cod sursa (job #3325580) | Cod sursa (job #1920185) | Cod sursa (job #90137) | Cod sursa (job #3304201) | Cod sursa (job #3346471)
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
long long solve(int k, long long x, long long y)
{
if(!k)
{
return 0;
}
long long pmijl=1LL<<(k-1);
long long block=1LL<<(2*(k-1));
if(x<=pmijl && y<=pmijl)
{
return solve(k-1,y,x);
}
if(x<=pmijl && y>pmijl)
{
return block+solve(k-1,x,y-pmijl);
}
if(x>pmijl && y>pmijl)
{
return 2*block+solve(k-1,x-pmijl,y-pmijl);
}
return 3*block+solve(k-1,pmijl-y+1,2*pmijl-x+1);
}
int main()
{
long long k,x,y;
fin>>k>>x>>y;
fout<< solve(k,x,y) << "\n";
return 0;
}