Pagini recente » Cod sursa (job #2574439) | Cod sursa (job #2560734) | Cod sursa (job #833100) | Cod sursa (job #39996) | Cod sursa (job #255229)
Cod sursa(job #255229)
#include <stdio.h>
int m,n,i,j,a,b,r,h;
long long x1,x2,y1,y2,x;
long long v[10001];
int o[100001],q[100001];
int main ()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
scanf ("%d %d",&n,&m);
for (i=1;i<=n;i++) v[i]=1;
for (i=1;i<=m;i++){
scanf ("%d %d %lld",&a,&b,&x);
o[i]=a;
q[i]=b;
x1=x;
x2=x;
r=1;
y1=v[a];
y2=v[b];
while (r!=0){
r=y1%x1;
y1=x1;
x1=r;
}
v[a]=v[a]/y1*x;
if (v[a]>2000000000) {h=1;break;}
r=1;
while (r!=0){
r=y2%x2;
y2=x2;
x2=r;
}
v[b]=v[b]/y2*x;
if (v[b]>2000000000) {h=1;break;}
}
for (i=1;i<=m;i++)
for (j=i+1;j<=m;j++)
if ( (o[i]==o[j]) && (q[i]==q[j]) ) {h=1;break;}
if (h==1) printf ("-1");
else for (i=1;i<=n;i++) printf ("%lld ",v[i]);
return 0;
}