Pagini recente » Cod sursa (job #44023) | Cod sursa (job #2218756) | Cod sursa (job #2563626) | Cod sursa (job #2931581) | Cod sursa (job #465499)
Cod sursa(job #465499)
#include <fstream>
using namespace std;
ifstream in("fractal.in");
ofstream out("fractal.out");
int find(int x,int y)
{
if (x==1)
return (y==2);
return 2+(y==1);
}
int fractal(int step,int x,int y)
{
if (step==4)
return find(x,y);
int cmp=step>>3;
if (x<=cmp)
{
if (y<=cmp)
return fractal(cmp<<1,y,x);
return (cmp<<1)+fractal(cmp<<1,x,y-cmp);
}
x-=cmp;
if (y<=cmp)
return 3*(cmp<<1)+fractal(cmp<<1,cmp-x,y);
return (step>>1)+fractal(cmp<<1,x,y-cmp);
}
int main()
{
int k,x,y;
in>>k>>x>>y;
out<<fractal(1<<(k<<1),x,y)<<'\n';
return 0;
}