Pagini recente » Cod sursa (job #2221829) | Istoria paginii template/detailed-feedback | Cod sursa (job #1590021) | Istoria paginii runda/micutzii | Cod sursa (job #2477755)
#include <fstream>
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int cmmdc(int a, int b){
int c;
while (b){
c = a % b;
a = b;
b = c;
}
return a;
}
int cmmmc(int a, int b){
return a * b / cmmdc(a, b);
}
int main(){
int v[10001];
int mat[10001][3];
int N, M;
cin >> N >> M;
int k, j, d;
for (int i = 1; i <= N; ++i){
v[i] = 1;
}
for (int i = 1; i <= M; ++i){
cin >> k >> j >> d;
mat[i][0] = k; mat[i][1] = j; mat[i][2] = d;
v[k] = cmmmc(v[k], d);
v[j] = cmmmc(v[j], d);
}
int ok = 1;
for (int i = 1; i <= M; ++i){
if (cmmdc(v[mat[i][0]], v[mat[i][1]]) != mat[i][2])
ok = 0;
}
if (ok == 0)
cout << "-1";
else
for (int i = 1; i <= N; ++i)
cout << v[i] << " ";
return 0;
}