Pagini recente » Cod sursa (job #1657737) | Cod sursa (job #2809910) | Cod sursa (job #518081) | Cod sursa (job #754404) | Cod sursa (job #2268701)
#include <iostream>
#include <fstream>
using namespace std;
int k,n,x,y;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int fractal(int n,int i,int j){
if(i<=2&&j<=2){
if(i==1&&j==1)
return 0;
if(i==1&&j==2)
return 3;
if(i==2&&j==1)
return 2;
return 1;
}
n >>=1;
// cadran 1
if(i<=n&&j<=n)
return fractal(n,j,i);
// cadran 3
if(i>n&&j<n)
return n*n+ fractal(n,i-n,j);
//cadran 4
if(i>n&&j>n)
return 2*n*n+fractal(n,i-n,j-n);
//cadran 2
int x,y;
x=j;
y=n-i+1;
y=n-y+1;
i=x;
j=y;
return 3*n*n + fractal (n,i,j);
}
int main()
{
fin>>k>>y>>x;
k=(1<<k);
fout<<fractal(k,x,y);
}