Pagini recente » Cod sursa (job #286023) | Cod sursa (job #1740905) | Cod sursa (job #809190) | Cod sursa (job #3038271) | Cod sursa (job #317333)
Cod sursa(job #317333)
#include<stdio.h>
struct rau{long i,j,d;}a[100050];
long n,m,i,x[10005],c,f;
long cmmdc(long a,long b)
{long 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("%ld%ld",&n,&m);
for(i=1;i<=n;++i)
x[i]=1;
for(i=1;i<=m;++i)
{scanf("%ld%ld%ld",&a[i].i,&a[i].j,&a[i].d);
c=cmmdc(x[a[i].i],a[i].d);
x[a[i].i]=((long long)x[a[i].i]*a[i].d)/c;
c=cmmdc(x[a[i].j],a[i].d);
x[a[i].j]=((long long)x[a[i].j]*a[i].d)/c;}
f=1;
for(i=1;i<=m;++i)
if(cmmdc(x[a[i].i],x[a[i].j])!=a[i].d){f=0;break;}
if(!f)printf("-1");
else
for(i=1;i<=n;++i)
printf("%ld ",x[i]);
printf("\n");
return 0;
}