Pagini recente » Cod sursa (job #2339681) | Cod sursa (job #468218) | Cod sursa (job #1117458) | Cod sursa (job #2784199) | Cod sursa (job #2189520)
#include <fstream>
using namespace std;
int v[10010];
ifstream fin ("oz.in");
ofstream fout("oz.out");
int L[100010], R[100010], D[100010];
int n, m;
int cmmdc(int a, int b) {
int r;
while (b!=0) {
r = a%b;
a = b;
b = r;
}
return a;
}
int main() {
fin>>n;
fin>>m;
for (int i=1;i<=n;i++)
v[i] = 1;
for (int i=1;i<=m;i++) {
fin>>L[i]>>R[i]>>D[i];
/// calculam cmmdc(v[ L[i] ] si D[i])
v[ L[i] ] = v[ L[i] ] / cmmdc( v[ L[i] ], D[i] ) * D[i];
v[ R[i] ] = v[ R[i] ] / cmmdc( v[ R[i] ], D[i] ) * D[i];
}
int ok = 1;
for (int i=1;i<=m;i++) {
if (cmmdc ( v[ L[i] ], v[ R[i] ] ) != D[i]) {
ok = 0;
break;
}
}
if (ok == 0) {
fout<<-1;
return 0;
}
for (int i=1;i<=n;i++)
fout<<v[i]<<" ";
}