Pagini recente » Cod sursa (job #2839979) | Cod sursa (job #453356) | Cod sursa (job #2087777) | Cod sursa (job #206053) | Cod sursa (job #2151845)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int rez(int k,int x,int y)
{
int m;
if(k==1)
return 0;
if(k==2)
{
if(x==1&&y==1)
return 0;
if(x==2&&y==1)
return 1;
if(x==2&&y==2)
return 2;
if(x==1&&y==2)
return 3;
}
m=k/2;
if(x<=m&&y<=m)
return rez(m,x,y);
if(x>m&&y<=m)
return m*m+rez(m,x-m,y);
if(x>m&&y>m)
return 2*m*m+rez(m,x-m,y-m);
if(x<=m&&y>m)
return 3*m*m+rez(m,m*m-y+1,m-x+1);
}
int k,x,y;
int main()
{
fin>>k>>x>>y;
fout<<rez((1<<k),x,y);
return 0;
}