Pagini recente » Cod sursa (job #66901) | Cod sursa (job #2780355) | Cod sursa (job #703999) | Cod sursa (job #1339120) | Cod sursa (job #1789332)
#include <fstream>
using namespace std;
unsigned fr(int k, int x, int y)
{
if (k==0)
{
return 0;
}
else
{
unsigned hatv=1;
for (int i=0;i<k-1;i++) hatv*=2; //2^(k-1)
if (x<=hatv && y<=hatv)
{
return fr(k-1, y, x);
}
else if (x<=hatv && y>hatv)
{
return fr(k-1, x, y-hatv/2)+hatv*hatv;
}
else if (x>hatv && y>hatv)
{
return fr(k-1, x-hatv, y-hatv)+2*hatv*hatv;
}
else if (x>hatv && y<=hatv)
{
return fr(k-1, hatv-y+1, 2*hatv-x+1)+3*hatv*hatv;
}
}
}
int main()
{
int k, x, y;
ifstream f("fractal.in");
f>>k>>x>>y;
ofstream g("fractal.out");
g<<fr(k, x, y);
}