Pagini recente » Cod sursa (job #3175077) | Cod sursa (job #2656321) | Cod sursa (job #279187) | Cod sursa (job #18361) | Cod sursa (job #1667441)
#include <fstream>
using namespace std;
int n,m,i,j,a,b,r,d[100001],x[100001],y[100001],v[10001],ap,nr;
ifstream fin ("oz.in");
ofstream fout ("oz.out");
int main (){
fin>>n>>m;
for (i=1;i<=n;i++)
v[i] = 1;
for (i=1;i<=m;i++){
fin>>x[i]>>y[i]>>d[i];
// d - cmmmdc al lui a si b;
// calculam cmmmc al lui v[x[i]] si d[i]
a = v[x[i]];
b = d[i];
while (b!=0){
r = a%b;
a = b;
b = r;
}
v[x[i]] = v[x[i]]*d[i]/a;
a = v[y[i]];
b = d[i];
while (b!=0){
r = a%b;
a = b;
b = r;
}
v[y[i]] = v[y[i]]*d[i]/a;
}
ap = 0;
for (i=1;i<=m;i++){
// calculam din nou cmmmc
a = v[x[i]];
b = v[y[i]];
while (b!=0){
r = a%b;
a = b;
b = r;
}
// nr = v[x[i]]*v[y[i]]/a;
if (a != d[i])
ap++;
}
if (ap == 0)
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
else
fout<<-1;
return 0;
}