Pagini recente » Cod sursa (job #1027183) | Cod sursa (job #1706737) | Statistici Andrei Miron (ariba021) | Cod sursa (job #2207174) | Cod sursa (job #2910065)
#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 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] = v[a[i]-1] * d[i] / divizor(v[a[i]-1], d[i]);
v[b[i]-1] = v[b[i]-1] * d[i] / divizor(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++;
}
}
for(int i = 0; i < n; i ++){
if(cnt == m){
fout << v[i] << " ";
}
else cout << "-1";
}
return 0;
}