Pagini recente » Cod sursa (job #2767337) | Cod sursa (job #1787922) | Cod sursa (job #169882) | Cod sursa (job #1559409) | Cod sursa (job #1744927)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
const int MAXN = 10010;
const int MAXM = 100010;
long long v[MAXN];
pair<pair<int, int>, int> q[MAXM];
int Gcd(int a, int b) {
int r;
while (b) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
v[i] = 1;
for (int i = 1; i <= m; i++) {
int x, y, d;
cin >> x >> y >> d;
v[x] = v[x] * d / Gcd(v[x], d);
v[y] = v[y] * d / Gcd(v[y], d);
q[i].first = make_pair(x, y);
q[i].second = d;
}
for (int i = 1; i <= m; i++)
if (Gcd(v[q[i].first.first],v[q[i].first.second]) != q[i].second) {
cout << "-1";
return 0;
}
for (int i = 1; i <= n; i++)
cout << v[i] << " ";
return 0;
}