Pagini recente » Cod sursa (job #1108473) | Cod sursa (job #1979535) | Cod sursa (job #2636915) | Cod sursa (job #492930) | Cod sursa (job #2656638)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,d,a,b,ok,q,i;
long long v[10005],nr1[10005],nr2[10005],dd[10005];
int main()
{
fin>>n>>m;
for(i=1; i<=m; i++)
{
fin>>nr1[i]>>nr2[i]>>dd[i];
a=nr1[i];
b=nr2[i];
d=dd[i];
if(v[a]==0)
{
v[a]=1;
ok++;
}
if(v[b]==0)
{
v[b]=1;
ok++;
}
q=__gcd(d,v[a]);
if(v[a]%d) v[a]=1LL*(d*v[a])/q;
q=__gcd(d,v[b]);
if(v[b]%d) v[b]=1LL*(v[b]*d)/q;
}
for(i=1; i<=n; i++)
{
if(v[i]>2000000000||v[i]<=0)break;
}
if(i>n)
{
for(i=1; i<=m; i++)
{
if(__gcd(v[nr1[i]],v[nr2[i]])!=dd[i])break;
}
}
else fout<<-1;
if(i>m)
{
for(i=1; i<=n; i++)
fout<<v[i]<< " ";
}
else fout<<-1;
return 0;
}