Cod sursa(job #831474)

Utilizator drobertDumitru Robert drobert Data 8 decembrie 2012 18:01:13
Problema Fractal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
double a,b,c,rez;
double fract(double k,double x, double y)
{
	int cadr;
	if (k==0)
		return rez;
	else
	{
		if (x<=pow(2,k-1) && y<=pow(2,k-1))
			cadr=1;
		else if (x>pow(2,k-1) && y<=pow(2,k-1))
			cadr=2;
		else if (x>pow(2,k-1) && y>pow(2,k-1))
			cadr=3;
		else if (x<=pow(2,k-1) && y>pow(2,k-1))
			cadr=4;
		if (cadr==1)
			return fract(k-1,y,pow(2,k-1)-(pow(2,k-1)-x+1)+1);
		if (cadr==2)
		{
			rez+=pow(4,k-1);
			return fract(k-1,x-pow(2,k-1),y);
		}
		if (cadr==3)
		{
			rez+=2*pow(4,k-1);
			return fract(k-1,x-pow(2,k-1),y-pow(2,k-1));
		}
		if (cadr==4)
		{
			rez+=3*pow(4,k-1);
			return fract(k-1,pow(2,k-1)-(y-pow(2,k-1))+1,pow(2,k-1)-x+1);
		}
	}
}
int main ()
{
	f>>a>>c>>b;
	g<<fract(a,b,c);
	return 0;
}