Pagini recente » Cod sursa (job #2876004) | Cod sursa (job #237326)
Cod sursa(job #237326)
#include <stdio.h>
long long N,M,v[10000],i,j,d,a[100000],b[100000],c[100000],ok;
long long cmmdc(long long a, long long b)
{
long long r;
while (b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
freopen("oz.in","r",stdin);
scanf("%lld %lld\n",&N,&M);
for (i=1;i<=N;++i)
v[i]=1;
for (i=1;i<=M;++i)
{
scanf("%lld %lld %lld\n", &a[i],&b[i],&c[i]);
v[a[i]]=(v[a[i]]*c[i])/cmmdc(v[a[i]],c[i]);
v[b[i]]=(v[b[i]]*c[i])/cmmdc(v[b[i]],c[i]);
}
ok=1;
for (i=1;i<=M;++i)
if (cmmdc(v[a[i]],v[b[i]])!=c[i])
{
ok=0;
break;
}
freopen("oz.out","w",stdout);
if (!ok) printf("-1");
else
{
for (i=1;i<=N;++i)
printf("%lld ", v[i]);
}
return 0;
}