Pagini recente » Cod sursa (job #2260855) | Cod sursa (job #2721941) | Cod sursa (job #2236886) | Cod sursa (job #149680) | Cod sursa (job #1789345)
#include <fstream>
//#include <iostream>
using namespace std;
unsigned fr(unsigned k, unsigned x, unsigned y)
{
if (k==0)
{
return 0;
}
else
{
unsigned hatv=1;
for (int i=0;i<k-1;i++) hatv<<=1; //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+1)+hatv*hatv;
}
else if (x>hatv && y>hatv)
{
return fr(k-1, x-hatv, y-hatv)+hatv*hatv*2;
}
else if (x>hatv && y<=hatv)
{
return fr(k-1, hatv-y+1, hatv*2-x)+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);
//cin>>k>>x>>y;
//cout<<fr(k, x, y);
}