Pagini recente » Cod sursa (job #1555988) | Cod sursa (job #105395) | Cod sursa (job #851366) | Cod sursa (job #698635) | Cod sursa (job #589278)
Cod sursa(job #589278)
#include <cstdio>
#include <fstream>
using namespace std;
int f (int k,int x,int y){
if(k==1)
if(x==1)
return 1;
else
if(y==1)
return 4;
else
return 3;
--k;
if(x<=(1<<k)){
if(y<=(1<<k))
return (1<<k)*(1<<k)+1-f(k,(1<<k)+1-y,x);
return (1<<k)*(1<<k)+f(k,x,y-(1<<k));
}
if(y<=(1<<k))
return (1<<(k+1))*(1<<(k+1))+1-f(k,y,(1<<(k+1))+1-x);
return 2*(1<<k)*(1<<k)+f(k,x-(1<<k),y-(1<<k));}
int main ()
{
ifstream in ("fractal.in");
freopen ("fractal.out","w",stdout);
int k,x,y;
in>>k>>x>>y;
printf("%d",f(k,x,y)-1);
return 0;}