Cod sursa(job #475140)

Utilizator andrey932Andrei andrey932 Data 6 august 2010 10:39:28
Problema Fractal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("fractal.in");
ofstream fout("fractal.out");
int i,c[20],k,x,y,rez,med,xp,yp;
/*
1 | 4
--|--
2 | 3

*/

int main()
{
	c[0]=1;
	c[1]=3;
	for(i=2;i<=15;i++) {
		c[i]=4*c[i-1]+3;
		cout<<"c["<<i<<"]="<<c[i]<<"\n";
	}
	fin>>k>>x>>y;
	rez=0;
	med=1<<k-1;
	while (k>0) {		
		if (x<=med+xp&&y<=med+yp) { //cadran 1
			rez+=0; cout<<k<<"  c1\n";
			xp+=0; yp+=0;
		}
		else if (x<=med+xp&&y>med+yp) { //cadran 2
			rez+=c[k]-3*c[k-1]; cout<<k<<"  c2\n";
			xp+=0; yp+=med;
		}
		else if (x>med+xp&&y>med+yp) { //cadran 3
			rez+=c[k]-2*c[k-1]; cout<<k<<"  c3\n";
			xp+=med; yp+=med;
		}
		else if (x>med+xp&&y<=med+yp) { //cadran 4
			rez+=c[k]-c[k-1]; cout<<k<<"  c4\n";
			xp+=med; yp+=0;
		}		
		
		k--;
	}

	fout<<rez;
	fout.close();
	return 0;
}