Cod sursa(job #109344)

Utilizator dj_vladootzCostica Vlad dj_vladootz Data 25 noiembrie 2007 10:20:04
Problema Aliens Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasa a 10-a Marime 0.7 kb
#include<fstream.h>

int n,a[50][2],v[50];

ifstream citeste ("aliens.in");
ofstream scrie ("aliens.out");

int cc (int k)
{
for (int i=1;i<k;i++) if (v[i]==v[k]) return 0;
return 1;
}

int produs (int k)
{
int numitor=1,numarator=1;
for (int i=1;i<=k,i++) 	{
	numitor*=a[v[i]][1];
	numarator*=a[v[i]][2];
	}
return numitor/numarator;
}

int aliens ()
{
int pmax=1,x;
int k=1;v[k]=0;
while (k>0)
	{
	while (v[k]<n)
		{
		v[k]++;
		if (cc(k)) 
			{
			x=produs(k);
			if (x>pmax) pmax=x; 
				else {k++;v[k]=0;}
			}
		}
	k--;
	}
return pmax;
}

int main ()
{
int x;
citeste>>n;
for (int i=1;i<=n;i++) citeste>>a[i][1]>>a[i][2];
x=aliens();
scrie<<x;
return 0;
}