Pagini recente » Cod sursa (job #1236435) | Cod sursa (job #3121232) | Cod sursa (job #950689) | Istoria paginii runda/noaptea_burlacilor2/clasament | Cod sursa (job #2910312)
#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){
int g=k,h=l;
if (g<h) swap(g,h);
int r=g%h;
while (r){
g=h;
h=r;
r=g%h;
}
return h;
}
int multiplu(int k, int l){
return k / divizor(k, l) * 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;
}