Pagini recente » Cod sursa (job #1378175) | Istoria paginii runda/wellcodesimulareoni2/clasament | Cod sursa (job #3168850) | Cod sursa (job #1892674) | Cod sursa (job #2151854)
#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,y,x);
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,2*m-y+1,m-x+1);
}
int k,x,y;
int main()
{
fin>>k>>y>>x;
fout<<rez((1<<k),x,y);
return 0;
}