Pagini recente » Cod sursa (job #2036527) | Cod sursa (job #86174) | Cod sursa (job #772559) | Cod sursa (job #341661) | Cod sursa (job #1840590)
#include <fstream>
using namespace std;
ifstream f("oz.in");
ofstream g("oz.out");
int n,m,i,j,ii,d,v[10002],ok,x,w[100002][3];
int cmmdc(int a,int b)
{
int r=0;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
f>>n>>m;
for(ii=1;ii<=m;ii++)
{
f>>i>>j>>d;
w[ii][0]=i;
w[ii][1]=j;
w[ii][2]=d;
if(v[i]==0)
v[i]=d;
else
{
x=cmmdc(v[i],d);
v[i]*=d/x;
}
if(v[j]==0)
v[j]=d;
else
{
x=cmmdc(v[j],d);
v[j]*=d/x;
}
}
ok=1;
for(i=1;i<=n;i++)
if(v[i]>2000000000)
ok=0;
for(i=1;i<=n;i++)
if(v[i]==0) v[i]=1;
for(i=1;i<=m;i++)
{
if(cmmdc(v[w[i][0]],v[w[i][1]])!=w[i][2])
ok=0;
}
if(ok==0) g<<-1;
else
for(i=1;i<=n;i++)
g<<v[i]<<" ";
return 0;
}