Pagini recente » Cod sursa (job #1003108) | Cod sursa (job #1623288) | Cod sursa (job #421848) | Cod sursa (job #949227) | Cod sursa (job #3335212)
#include <bits/stdc++.h>
using namespace std;
#define USE_STD_IO 0
#if USE_STD_IO
#define fin cin
#define fout cout
#else
ifstream fin("oz.in");
ofstream fout("oz.out");
#endif
int p1[100002], p2[100002], cm[100002];
int n, q, i, v[10002];
static inline int Cmmdc(int a, int b) {
if(0 == a) return b;
if(0 == b) return a;
int oa = a, ob = b;
int rest;
do {
rest = a % b;
a = b;
b = rest;
}
while(0 != b);
return a;
}
static inline int Cmmmc(int a, int b) {
return a / Cmmdc(a, b) * b;
}
int main() {
if(USE_STD_IO) ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n >> q;
for(i = 1; i <= n; i++) v[i] = 1;
for(i = 1; i <= q; i++) {
fin >> p1[i] >> p2[i] >> cm[i];
v[p1[i]] = Cmmmc(v[p1[i]], cm[i]);
v[p2[i]] = Cmmmc(v[p2[i]], cm[i]);
}
for(i = 1; i <= q; i++) {
if(cm[i] != Cmmdc(v[p1[i]], v[p2[i]])) {
fout << -1;
return 0;
}
}
for(i = 1; i <= n; i++) fout << v[i] << " ";
return 0;
}