Cod sursa(job #617263)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 14 octombrie 2011 14:25:42
Problema Fractal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
using namespace std;
int det(int pas, int x, int y, int tr)
{
	if(x==1&&y==1)
		return 0;
	if(x<=(1<<(pas-1))&&y<=(1<<(pas-1)))
		return det(pas-1,y,x,tr/4);
	if(y<=(1<<(pas-1)))
		return tr/4+det(pas-1,x-(1<<(pas-1)),y,tr/4);
	if(x>(1<<(pas-1))&&y>(1<<(pas-1)))
		return tr/2+det(pas-1,x-(1<<(pas-1)),y-(1<<(pas-1)),tr/4);
	return tr/4*3+det(pas-1,(1<<(pas-1))-(y-(1<<(pas-1)))+1,(1<<(pas-1))-x+1,tr/4);
}
int main()
{
	ifstream q("fractal.in");
	ofstream w("fractal.out");
    int n,y,x;
	q>>n>>y>>x;
	w<<det(n,x,y,1<<2*n);
	return 0;
}