Cod sursa(job #173118)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 7 aprilie 2008 11:08:42
Problema Oz Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream.h>
unsigned int x[100010][5],  n,ok=1;
unsigned long v[10010],a,b,r,aux,i,j,k,m,q;
long long p;
int main()
{

ifstream f("oz.in");
ofstream g("oz.out");

f>>n>>m;

for(i=1;i<=n;i++) v[i]=1;

for(q=1;q<=m;q++)

  { f>>x[q][1]>>x[q][2]>>x[q][3];
   i=x[q][1];
   j=x[q][2];
   k=x[q][3];

   a=v[i]; b=k;

   //if(a<b) {aux=a; a=b; b=aux;}

   p=a*b;

    while(b)

     { r=a%b; a=b; b=r;}

   v[i]=p/a;

   a=v[j]; b=k;

   //if(a<b) {aux=a; a=b; b=aux;}

   p=a*b;

    while(b)

     { r=a%b; a=b; b=r;}

   v[j]=p/a;

   }


  for(q=1;q<=m;q++)

  {  i=x[q][1];
     j=x[q][2];
     k=x[q][3];


      a=v[i]; b=v[j];

    //if(a<b) {aux=a; a=b; b=aux;}

    while(b)

     { r=a%b; a=b; b=r;}

     if(a!=k) {ok=0; break;}
   }

if(!ok) g<<"-1";

 else

   for(i=1;i<=n;i++)
    g<<v[i]<<" ";

f.close();
g.close();
return 0;
}