Pagini recente » Cod sursa (job #1216180) | Cod sursa (job #2164434) | Cod sursa (job #1631575) | Cod sursa (job #328783) | Cod sursa (job #2616681)
#include <fstream>
using namespace std;
ifstream cin("fractal.in");
ofstream cout("fractal.out");
long long steps(int k)
{
long long nr=0;
for(int i=1;i<=k;i++)
nr=nr*4+3;
return nr;
}
long long solve(int k,long long x,long long y)
{
if(k==0)
return 0;
long long mij=(1<<k)/2;
if(x<=mij && y<=mij)
return solve(k-1,x,y);
if(x>mij && y<=mij)
return steps(k-1)+1+solve(k-1,x-mij,y);
if(x>mij && y>mij)
return 2*steps(k-1)+2+solve(k-1,x-mij,y-mij);
return 3*steps(k-1)+3+solve(k-1,x,y-mij);
}
int main()
{
int k;
long long x,y;
cin>>k>>y>>x;
cout<<solve(k,x,y);
return 0;
}