Pagini recente » Cod sursa (job #1165254) | Cod sursa (job #1978189) | Cod sursa (job #1646609) | Cod sursa (job #3290406) | Cod sursa (job #2910311)
#include <bits/stdc++.h>
using namespace std;
int n, m;
int v[100001], a[1000001], b[1000001], d[1000001];
int divizor(int k, int l){
while(l != 0)
{
int r = k % l;
k = l;
l = r;
}
return k;
}
int multiplu(int k, int l){
return k * l / divizor(k, l);
}
int main()
{
ifstream fin("oz.in");
ofstream fout("oz.out");
fin >> n >> m;
for(int i = 0; i < n; i++){
v[i] = 1;
}
for(int i = 0; i < m; i++){
fin >> a[i] >> b[i] >> d[i];
v[a[i]-1] = multiplu(v[a[i]-1], d[i]);
v[b[i]-1] = multiplu(v[b[i]-1], d[i]);
}
for(int i = 0; i < m; i++){
if(divizor(v[a[i]-1], v[b[i]-1]) != d[i]){
fout << "-1";
return 0;
}
}
for(int i = 0; i < n; i++){
fout << v[i] << " ";
}
return 0;
}