Pagini recente » Cod sursa (job #1361612) | Cod sursa (job #597892) | Cod sursa (job #2595037) | Cod sursa (job #1540305) | Cod sursa (job #163699)
Cod sursa(job #163699)
#include<stdio.h>
long n,m,i,a[10000],b[10000],d[10000],q,v[10000],f,j,vva,vvb;
long cmmmc(long a,long b)
{long long aa;
aa=a;
while(aa%b)aa+=a;
if(aa>2000000000ll)return -1;
else return aa;
}
long cmmdc(long a,long b)
{long aa,bb,r;
aa=a;
bb=b;
while(bb>0){r=aa%bb;aa=bb;bb=r;}
return aa;
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%ld%ld",&n,&m);
q=0;
for(i=1;i<=m;++i)
{
scanf("%ld%ld%ld",&a[i],&b[i],&d[i]);
f=0;
for(j=1;j<i;++j)
if((a[j]==a[i])&&(b[j]==b[i]))
if(d[j]!=d[i]) {printf("-1");return 0;}
else f=1;
if(f==0)
{
if(!v[a[i]])v[a[i]]=1;
vva=v[a[i]];
if(v[a[i]]>d[i])
v[a[i]]=cmmmc(v[a[i]],d[i]);
else
v[a[i]]=cmmmc(d[i],v[a[i]]);
if(!v[b[i]])v[b[i]]=1;
vvb=v[b[i]];
if(v[b[i]]>d[i])
v[b[i]]=cmmmc(v[b[i]],d[i]);
else
v[b[i]]=cmmmc(d[i],v[b[i]]);
if((v[a[i]]==-1)||(v[b[i]]==-1)){printf("-1");return 0;}
if((cmmdc(v[a[i]],v[b[i]])!=d[i])){printf("-1");return 0;}
}
}
for(i=1;i<=n;++i)
if(v[i])printf("%ld ",v[i]);
else printf("1 ");
printf("\n");
return 0;
}