Pagini recente » Cod sursa (job #1008167) | Cod sursa (job #1230819) | Cod sursa (job #684872) | Cod sursa (job #1388329) | Cod sursa (job #643028)
Cod sursa(job #643028)
#include <fstream>
using namespace std;
int k,x,y;
inline int put(int x)
{
return x*x;
}
int make(int k,int x,int y)
{
if(k==1) return 0;
if(x<=(k/2) && y<=(k/2))
{
return make(k/2,y,x);
}
else
if(x<=(k/2) && y>(k/2))
{
return make(k/2,k/2-(y-k/2)+1,k/2-x+1)+put(k/2)*3;
}
else
if(x>(k/2) && y<=(k/2))
{
return make(k/2,x-k/2,y)+put(k/2);
}
else
{
return make(k/2,x-k/2,y-k/2)+put(k/2)*2;
}
}
int main()
{
ifstream f("fractal.in");
ofstream g("fractal.out");
f>>k>>x>>y;
g<<make(1<<k,x,y);
g.close();
return 0;
}