Pagini recente » Cod sursa (job #2640976) | Cod sursa (job #2227570) | Cod sursa (job #1962022) | Cod sursa (job #2908066) | Cod sursa (job #628068)
Cod sursa(job #628068)
#include <fstream>
#include <iomanip>
#include <math.h>
using namespace std;
fstream fin("fractal.in",ios::in);
fstream fout("fractal.out",ios::out);
int calc(int k, int x, int y)
{
if (k==0) return 0;
if ((x<=k)&&(y<=k)) return calc(k/2, y, x);
if ((x>k)&&(y<=k)) return k*k+calc(k/2, x-k, y);
if ((x>k)&&(y>k)) return 2*k*k+calc(k/2, x-k, y-k);
if ((x<=k)&&(y>k)) return 3*k*k+calc(k/2, 2*k-y+1, k-x+1);
}
int main()
{
int n,x,y,k=1,i;
fin>>n>>x>>y;
for (i=1;i<=n-1;i++) k*=2;
fout<<calc(k,y,x);
fin.close(); fout.close();
return 0;
}