Pagini recente » Cod sursa (job #2135405) | Cod sursa (job #2461142) | Cod sursa (job #2324465) | Cod sursa (job #1071587) | Cod sursa (job #219476)
Cod sursa(job #219476)
#include <stdio.h>
#include <cstdlib>
long long i, m, n, p[100010], q[100010], v[10010], d[100010];
long gcd(long a, long b) {
if (!b) return a;
return gcd(b, a % b);
}
void ch() {
for (long i = 1; i <= m; ++i) {
if (gcd(v[p[i]], v[q[i]]) != d[i]) {
printf("-1");
exit(0);
}
}
}
int main() {
freopen("oz.in", "r", stdin);
freopen("oz.out", "w", stdout);
scanf("%lld %lld", &n, &m);
for (i = 1; i <= n; ++i) v[i] = 1;
for (i = 1; i <= m; ++i) {
scanf("%ld %ld %ld", &p[i], &q[i], &d[i]);
v[p[i]] = (v[p[i]] * d[i]) / gcd(v[p[i]], d[i]);
v[q[i]] = (v[q[i]] * d[i]) / gcd(v[q[i]], d[i]);
}
ch();
for (i = 1; i <= n; ++i) {
printf("%lld ", v[i]);
}
return 0;
}