Pagini recente » Cod sursa (job #2009028) | Cod sursa (job #263016) | Cod sursa (job #1714540) | Cod sursa (job #1084953) | Cod sursa (job #2485969)
#include <fstream>
#define int long long
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
int cmmdc(int a,int b) {
int r,cb=b,ca=a;
while(b) {
r=a%b;
a=b;
b=r;
}
return a;
}
int cmmmc(int a,int b) {
int r,cb=b,ca=a;
while(b) {
r=a%b;
a=b;
b=r;
}
return ca*cb/a;
}
struct nugarel {
int nu,ga,rel;
};
nugarel w[10001];
int v[10001];
int32_t main() {
int n,m,i,a,b,d;
in>>n>>m;
for(i=1; i<=n; i++)
v[i]=1;
for(i=1; i<=m; i++) {
in>>a>>b>>d;
v[a]=cmmmc(v[a],d);
v[b]=cmmmc(v[b],d);
w[i].nu=a;
w[i].ga=b;
w[i].rel=d;
}
for(i=1; i<=n; i++) {
if(cmmdc(v[w[i].nu],v[w[i].ga])!=w[i].rel) {
out<<-1;
}
}
for(i=1; i<=n; i++) {
out<<v[i]<<' ';
}
return 0;
}