Pagini recente » Cod sursa (job #1932454) | Cod sursa (job #688455) | Cod sursa (job #360291) | Cod sursa (job #1936532) | Cod sursa (job #1789344)
//#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);
}