Pagini recente » Cod sursa (job #1687139) | Cod sursa (job #2284690) | Cod sursa (job #155698) | Cod sursa (job #624941) | Cod sursa (job #163533)
Cod sursa(job #163533)
#include <stdio.h>
int n,m,x,y,c,a[10010],q;
long long z;
int cmmdc(int a, int b)
{
int r;
while (b>0)
{
r=a;
a=b;
b=r%b;
}
return a;
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d%d",&n,&m);
int i;
q=0;
for (i=1; i<=m; ++i)
{
scanf("%d%d%d",&x,&y,&c);
if (a[x]>0)
{
z=a[x]*(c/cmmdc(a[x],c));
a[x]=z;
}
else a[x]=c;
if (z>2000000000)
{
q=1;
break;
}
if (a[y]>0)
{
z=a[y]*(c/cmmdc(a[y],c));
a[y]=z;
}
else a[y]=c;
if (z>2000000000)
{
q=1;
break;
}
if (cmmdc(a[x],a[y])!=c)
{
q=1;
break;
}
}
if (q==1) printf("-1\n");
if (q==0) for (i=1; i<=n; ++i) printf("%d ",a[i]);
printf("\n");
return 0;
}