Pagini recente » Cod sursa (job #3041406) | Cod sursa (job #390507) | Cod sursa (job #2524149) | Cod sursa (job #1648335) | Cod sursa (job #2506724)
#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 2*p2[2*(k-1)]+answer(k-1,x-p2[k-1],y-p2[k-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,p2[k-1]-x+1);///
else return answer(k-1,y,x);///
}
}