Pagini recente » Cod sursa (job #2522910) | Cod sursa (job #2250212) | Cod sursa (job #345515) | Cod sursa (job #1012477) | Cod sursa (job #2777088)
using namespace std;
#include<iostream>
#include<fstream>
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,m;
int a[10001], b[10001], d[10001], v[10001];
int cmmmc(int x, int y) {
long long produs = x * y;
/*if (x < y) {
swap(x,y);
}*/
while (y) {
int rest = x % y;
x = y;
y = rest;
}
return produs/x;
}
int main() {
fin >> n >> m;
for (int i = 1; i<=n; i++) {
v[i] = 1;
}
for (int i = 1; i<=m; i++) {
fin >> a[i] >> b[i] >> d[i];
v[a[i]] = cmmmc(v[a[i]], d[i]);
v[b[i]] = cmmmc(v[b[i]], d[i]);
}
for (int i = 1; i<=m; i++) {
int a1 = v[a[i]];
int a2 = v[b[i]];
/*if (a1 < a2) {
swap(a1, a2);
}*/
while (a2) {
int rest = a1%a2;
a1 = a2;
a2 = rest;
}
if (a1 != d[i]) {
fout << "-1";
return 0;
}
}
for (int i = 1; i<=n; i++) {
fout << v[i] << " ";
}
return 0;
}