Pagini recente » Cod sursa (job #1978193) | Cod sursa (job #2530953) | Cod sursa (job #1105077) | Cod sursa (job #578108) | Cod sursa (job #2910310)
#include <bits/stdc++.h>
using namespace std;
int n, m, cnt = 0;
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]){
cnt++;
}
}
if(cnt == m){
for(int i = 0; i < n; i ++){
fout << v[i] << " ";
}
}
else fout << "-1";
return 0;
}