Pagini recente » Cod sursa (job #2620189) | Cod sursa (job #2477051) | Cod sursa (job #2981792) | Cod sursa (job #2791556) | Cod sursa (job #2689914)
#include <fstream>
using namespace std;
long long v1[10005],v[10005];
int h1[100005],h2[100005],h3[100005];
int main()
{
ifstream cin("oz.in");
ofstream cout("oz.out");
long long n,m,a,b,c,l1,l2,l3;
cin>>n>>m;
for(int i=1; i<=n; i++)
{
v1[i]=1;
}
for(int i=1; i<=m; i++)
{
cin>>a>>b>>c;
h1[i]=a;
h2[i]=b;
h3[i]=c;
if(v[a]==0)
{
v[a]=c;
v1[a]=c;
}
else
{
l1=v[a];
l2=c;
while(l2!=0)
{
l3=l1%l2;
l1=l2;
l2=l3;
}
v1[a]=1LL*v1[a]*c;
v1[a]/=l1;
v[a]=l1;
}
if(v[b]==0)
{
v[b]=c;
v1[b]=c;
}
else
{
l1=v[b];
l2=c;
while(l2!=0)
{
l3=l1%l2;
l1=l2;
l2=l3;
}
v1[b]=1LL*v1[b]*c;
v1[b]/=l1;
v[b]=l1;
}
}
int p=0;
for(int i=1; i<=n; i++)
{
if(v1[i]>2000000000)
{
p=1;
break;
}
}
if(p==0)
{
for(int i=1; i<=m; i++)
{
l1=v1[h1[i]];
l2=v1[h2[i]];
while(l2!=0)
{
l3=l1%l2;
l1=l2;
l2=l3;
}
if(l1!=h3[i])
{
p=1;
break;
}
}
if(p==0)
{
for(int i=1; i<=n; i++)
{
cout<<v1[i]<<" ";
}
cout<<'\n';
}
else
{
cout<<"-1"<<'\n';
}
}
cout<<'\n';
return 0;
}