Pagini recente » Cod sursa (job #1102239) | Cod sursa (job #2538411) | Cod sursa (job #3275278) | Cod sursa (job #2789191) | Cod sursa (job #3235528)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
struct Triplet {
int i, j, d;
} q[100002];
int n, m, i, v[100002];
static inline int Cmmdc(int a, int b) {
if(b == 0) return a;
return Cmmdc(b, a % b);
}
static inline int Cmmmc(int a, int b) {
return (a / Cmmdc(a, b) * b);
}
int main() {
fin >> n >> m;
for(i = 1; i <= n; i++) v[i] = 1;
for(i = 1; i <= m; i++) {
fin >> q[i].i >> q[i].j >> q[i].d;
v[q[i].i] = Cmmmc(v[q[i].i], q[i].d);
v[q[i].j] = Cmmmc(v[q[i].j], q[i].d);
}
for(i = 1; i <= m; i++) {
if(Cmmdc(v[q[i].i], v[q[i].j]) != q[i].d) {
fout << "-1";
return 0;
}
}
for(i = 1; i <= n; i++) fout << v[i] << " ";
return 0;
}