Pagini recente » Cod sursa (job #2276873) | Cod sursa (job #2466143) | Cod sursa (job #1110281) | Cod sursa (job #3003525) | Cod sursa (job #180809)
Cod sursa(job #180809)
#include <stdio.h>
long i, j, n, m, a[100001], b[100001], d[100001], v[10001];
long cmmdc(long a, long b)
{
long r;
while (b)
{
r = a % b;
a = b;
b = r;
}
return a;
}
long cmmmc(long a, long b)
{
return a / cmmdc(a, b) * b;
}
int main()
{
freopen ("oz.in", "rt", stdin);
freopen ("oz.out", "wt", stdout);
scanf("%ld %ld", &n, &m);
for (i = 1; i <= m; ++i)
scanf("%ld %ld %ld", &a[i], &b[i], &d[i]);
for (i = 1; i <= n; ++i)
v[i] = 1;
for (i = 1; i <= m; ++i)
{
v[a[i]] = cmmmc(v[a[i]], d[i]);
v[b[i]] = cmmmc(v[b[i]], d[i]);
}
for (i = 1; i <= m; ++i)
{
if (cmmdc(v[a[i]], v[b[i]]) != d[i])
{
printf("-1\n");
return 0;
}
}
for (i = 1; i <= n; ++i)
printf("%ld ", v[i]);
printf("\n");
return 0;
}