Pagini recente » Cod sursa (job #2670304) | Cod sursa (job #2166308) | Cod sursa (job #2966304) | Monitorul de evaluare | Cod sursa (job #2809389)
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n, m, ii[100005], jj[100005], d[100005], v[100005];
int cmmdc(int a, int b) {
while(b != 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
fin >> n >> m;
for(int i = 1; i <= n; i++) {
v[i] = 1;
}
for(int i = 1; i <= m; i++) {
fin >> ii[i] >> jj[i] >> d[i];
v[ii[i]] *= d[i] / cmmdc(v[ii[i]], d[i]);
v[jj[i]] *= d[i] / cmmdc(v[jj[i]], d[i]);
}
for(int i = 1; i <= m; i++) {
if(cmmdc(v[ii[i]], v[jj[i]]) != d[i]) {
fout << "-1";
return 0;
}
}
for(int i = 1; i <= n; i++) {
fout << v[i] << " ";
}
return 0;
}