Pagini recente » Cod sursa (job #1683843) | Cod sursa (job #2164076) | Cod sursa (job #2746821) | Cod sursa (job #397238) | Cod sursa (job #238041)
Cod sursa(job #238041)
#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 (a*b/cmmdc(a,b));
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,i,j,d,r,a[10005],x[100001],y[100001],z[100001],trisare=0;
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<=n; 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("%d ",a[i]);
else
printf("-1");
return 0;
}