Pagini recente » Cod sursa (job #993782) | Cod sursa (job #469930) | Cod sursa (job #470922) | Cod sursa (job #2754002) | Cod sursa (job #2506718)
#include <fstream>
using namespace std;
ifstream cin("fractal.in");
ofstream cout("fractal.out");
int p2[32];
int answer(int k, int x, int y);
int main()
{
for(int i=0; i<=30; ++i)
p2[i]=(1<<i);
int k,x,y;
cin>>k>>y>>x;
cout<<answer(k,x,y)<<'\n';
return 0;
}
int answer(int k, int x, int y)
{
if(x==1 && y==1)
return 0;
if(x==1 && y==p2[k])
return p2[k*2]-1;
if(x>p2[k-1])
{
if(y>p2[k-1])
return p2[2*(k-1)]+answer(k-1,x-p2[k-1],p2[k]-y+1);///
else return p2[2*(k-1)]+answer(k-1,x-p2[k-1],y);///
}
else{
if(y>p2[k-1])
return 3*p2[2*(k-1)]+answer(k-1,p2[k]-y+1,x);///
else return answer(k-1,y,x);///
}
}