Pagini recente » Cod sursa (job #2768738) | Cod sursa (job #790115) | Cod sursa (job #384317) | Cod sursa (job #3158165) | Cod sursa (job #301719)
Cod sursa(job #301719)
#include <stdio.h>
long long m,n,i,j,a,b,r,h,per[4][100010],x1,x2,y1,y2,y,x,v[10001];
int main ()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
scanf ("%lld %lld",&n,&m);
for (i=1;i<=n;i++) v[i]=1;
for (i=1;i<=m;i++){
scanf ("%lld %lld %lld",&per[1][m],&per[2][m],&per[3][m]);
x1=x2=per[3][m];
r=1;
y1=v[per[1][m]];
y2=v[per[2][m]];
while (r!=0){
r=y1%x1;
y1=x1;
x1=r;
}
v[per[1][m]]=v[per[1][m]]/y1*per[3][m];
if (v[per[1][m]]>2000000000) {h=1;break;}
r=1;
while (r!=0){
r=y2%x2;
y2=x2;
x2=r;
}
v[per[2][m]]=v[per[2][m]]/y2*per[3][m];
if (v[per[2][m]]>2000000000) {h=1;break;}
}
for (i=1;i<=m;i++){
r=1; y=v[per[1][m]]; x=v[per[2][m]];
while (r!=0){
r=y%x;
y=x;
x=r;
}
if (y!=per[3][m]) h=1;
}
if (h==1) printf ("-1");
else for (i=1;i<=n;i++) printf ("%lld ",v[i]);
return 0;
}