Pagini recente » Cod sursa (job #283895) | Cod sursa (job #2446882) | Cod sursa (job #443982) | Cod sursa (job #2534454) | Cod sursa (job #2777272)
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) {
int a = max(x,y), b = min(x,y);
while (b) {
int rest = a % b;
a = b;
b = rest;
}
return x/a*y;
}
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;
}