Pagini recente » Cod sursa (job #2689651) | Cod sursa (job #714347) | Cod sursa (job #3244012) | Cod sursa (job #2525395) | Cod sursa (job #189204)
Cod sursa(job #189204)
#include<stdio.h>
int n,m;
int v[100010];
int cmmdc(int a,int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d%d",&n,&m);
int i,x,y,d,div;
long long aux;
for(i=0; i<m; i++)
{
scanf("%d%d%d",&x,&y,&d);
if(v[x]==0)
v[x]=d;
else
{
div=cmmdc(v[x],d);
aux=d/div*v[x];
if(aux>2000000000)
{
printf("-1\n");
return 0;
}
v[x]=(int)aux;
}
if(v[y]==0)
v[y]=d;
else
{
div=cmmdc(v[y],d);
aux=d/div*v[y];
if(aux>2000000000)
{
printf("-1\n");
return 0;
}
v[y]=(int)aux;
}
div=cmmdc(v[x],v[y]);
if(div!=d)
{
printf("-1\n");
return 0;
}
}
for(i=1; i<n; i++)
{
if(v[i]==0)
v[i]=1;
printf("%d ",v[i]);
}
if(v[n]==0)
v[n]=1;
printf("%d\n",v[n]);
return 0;
}