Cod sursa(job #111111)

Utilizator bebita99Micu Adrian bebita99 Data 28 noiembrie 2007 17:39:03
Problema Aliens Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream.h>
ifstream f("aliens.in");
ofstream g("aliens.out");
unsigned long int v[60],a[60],b[60],n,max,m;
int p(int k)
{float x=1;
for (int i=1;i<=k;i++) if (a[v[i]]==0 || b[v[i]]==0) return 0;else x=x*a[v[i]]/b[v[i]];
if (floor(x)==x) return x;
return 0;}
int cc(int k)
{for (int i=1;i<k;i++) {if (v[i]==v[k]) return 0;if (k>=2 && v[i]>v[i+1]) return 0;}return 1;}
int main()
{f>>n;int k=1,i;
for (i=1;i<=n;i++) f>>a[i]>>b[i];
while (k>0)
   {while (v[k]<n)
      {v[k]++;
       if (cc(k)) if (p(k)!=0 && m>max) max=m;else {k++;v[k]=0;}}k--;}
g<<max;}

int p(int k)
{float x=1;
for (int i=1;i<=k;i++) if (a[v[i]]==0 || b[v[i]]==0) return 0;else x=x*a[v[i]]/b[v[i]];
if (floor(x)==x) return x;
return 0;}