Pagini recente » Cod sursa (job #2825098) | Cod sursa (job #335497) | Cod sursa (job #1935306) | Cod sursa (job #219988) | Cod sursa (job #1026454)
#include <cstdio>
using namespace std;
long long int s;
int k,x,y,a,q;
int main()
{
freopen("fractal.in", "r", stdin);
freopen("fractal.out", "w", stdout);
scanf("%d%d%d",&k,&y,&x);
a=1<<k;
while(k>1)
{
if(x<=a/2 && y<=a/2)
{
q=x;x=y;y=q;
}
else
if(x>a/2 && y<=a/2)
{
x-=a/2;
s+=1<<(k-1)*2;
}
else
if(x>a/2 && y>a/2)
{
x-=a/2;
y-=a/2;
s+=2*(1<<(k-1)*2);
}
else
if(x<=a/2 && y>a/2)
{
y-=a/2;
s+=3*(1<<(k-1)*2);
}
k--;
a>>=1;
}
if(x==2&&y==1) s++;
if(x==2&&y==2) s+=2;
if(x==1&&y==2) s+=3;
printf("%lld",s);
fclose(stdin);fclose(stdout);
return 0;
}