Pagini recente » Autentificare | Cod sursa (job #1145104) | Cod sursa (job #766641) | Cod sursa (job #1855851) | Cod sursa (job #1837608)
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int k,x,y;
long long int fn (int x, int y, double k) {
int pk = (int) pow(2 , k)/2;
if(k==1) {
if(x==1 && y==1) return 0;
if(x==1 && y==2) return 3;
if(x==2 && y==1) return 1;
if(x==2 && y==2) return 2;
return -1;
}
if(x<= pk && y<= pk) return pow(2,2*(k-1))-1-fn(y, pk-x+1, k-1);
if(x> pk && y<= pk) return 2*pk+fn(x-pk, y, k-1);
if(x> pk && y> pk) return 4*pk+fn(x-pk, y-pk, k-1);
if(x<= pk && y> pk) return 6*pk+fn(2*pk-y+1, pk-x+1, k-1);
}
int main()
{
f>>k>>y>>x;
g<<fn(x,y,k);
}