Pagini recente » Cod sursa (job #2631538) | Cod sursa (job #2354957) | Cod sursa (job #727184) | Cod sursa (job #2846225) | Cod sursa (job #238887)
Cod sursa(job #238887)
#include <stdio.h>
int cmmdc(int a,int b)
{
int r=a%b;
while (r)
{
a=b;
b=r;
r=a%b;
}
return b;
}
int cmmmc(int a,int b)
{
return (int)((long long)a*b/cmmdc(a,b));
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,i,j,d,r,x[100005],y[100005],z[100005],trisare=0;
long long a[10005];
scanf("%d%d",&n,&m);
for (i=1; i<=n; i++)
a[i]=1;
for (r=1; r<=m; r++)
{
scanf("%d%d%d",&x[r],&y[r],&z[r]);
a[x[r]]=cmmmc(a[x[r]],z[r]);
a[y[r]]=cmmmc(a[y[r]],z[r]);
}
for (i=1; i<=m; i++)
if (cmmdc(a[x[i]], a[y[i]])==z[i])
trisare=0;
else
{
trisare=1;
break;
}
if (trisare==0)
for (i=1; i<=n; i++)
printf("%lld ",a[i]);
else
printf("-1");
return 0;
}