Pagini recente » Cod sursa (job #2418425) | Cod sursa (job #2519695) | Cod sursa (job #2395309) | Cod sursa (job #2123559) | Cod sursa (job #1670353)
#include <fstream>
using namespace std;
long long 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]]/a*d[i];
a = v[y[i]];
b = d[i];
while (b!=0){
r = a%b;
a = b;
b = r;
}
v[y[i]] = v[y[i]]/a*d[i];
}
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++;
}
for (i=1;i<=n;i++)
if (v[i] > 2000000000)
ap++;
if (ap == 0)
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
else
fout<<-1;
return 0;
}