Cod sursa(job #343007)

Utilizator aladinaladin aladinn aladin Data 24 august 2009 16:50:55
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>  
long long n,m,k,v[10009],a[100009],b[100009],c[100009];  
   
long long cmmmc(long long a, long long b)   
 {long long r,q,w;  
 q=a;w=b;  
 while(b!=0)    
    {r=a%b;    
     a=b;    
     b=r;}    
 return ((q*w)/a);    
 }    
   
 int main()  
 {  
  
  freopen("oz.in","r",stdin);  
  freopen("oz.out","w",stdout);  
  scanf("%lld %lld",&n,&m);  
  for (k=1;k<=n;k++) v[k]=1;  
  for (k=1;k<=m;k++)  
   {scanf("%lld %lld %lld",&a[k],&b[k],&c[k]);  
    v[a[k]]=cmmmc(v[a[k]],c[k]);  
   v[b[k]]=cmmmc(v[b[k]],c[k]);  
   }  
  
  for (k=1;k<=m;k++) if ((v[a[k]]*v[b[k]])/cmmmc(v[a[k]],v[b[k]])!=c[k]) {printf("-1");k=-1;break;}
 if (k!=-1)  
   
  {for (k=1;k<=n;k++) printf("%lld ",v[k]);  }
  
   return 0;}