Cod sursa(job #488436)
#include<fstream.h>
#define NMAX 10002
#define NU 2000000000
int i, n, m, x, y, d, ok;
long long a[NMAX];
long long cmmmc(long long xx, long long yy)
{
long long aa=xx, bb=yy, rez, r;
r=xx%yy;
while (r!=0)
{
xx=yy;
yy=r;
r=xx%yy;
}
rez=(aa*bb)/yy;
return rez;
}
int main()
{
ifstream f("oz.in");
ofstream g("oz.out");
f>>n>>m;
for(i=1; i<=n; ++i)a[i]=1;
ok=1;
for(i=1; i<=m; ++i)
{
f>>x>>y>>d;
a[x]=cmmmc(a[x],d);
a[y]=cmmmc(a[y],d);
}
for (i=1; i<=n; ++i)
if (a[i]>NU){ok=-1;break;}
if (ok==1)
{
g<<a[1];
for(i=2; i<=n; ++i) g<<" "<<a[i];
g<<"\n";}
else g<<"-1\n";
f.close();
g.close();
return 0;
}