Pagini recente » Cod sursa (job #1809709) | Cod sursa (job #1402365) | Cod sursa (job #2914443) | Cod sursa (job #1798341) | Cod sursa (job #166198)
Cod sursa(job #166198)
#include<stdio.h>
int euclid(int a, int b){
if(!b)
return a;
return euclid(b,a%b);
}
int main () {
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int a[100001],b[100001],d[100001],i,n,m,v[10001];
scanf("%d%d",&n,&m);
for(i=0;i<=n;++i)
v[i]=1;
for(i=1;i<=m;++i){
scanf("%d%d%d",&a[i],&b[i],&d[i]);
v[a[i]]=(v[a[i]]*d[i])/euclid(v[a[i]],d[i]);
v[b[i]]=(v[b[i]]*d[i])/euclid(v[b[i]],d[i]);
}
for(i=1;i<=m;++i)
if(euclid(v[a[i]],v[b[i]])!=d[i]){
printf("-1\n");
return 0;
}
for(i=1;i<n;++i)
printf("%d ",v[i]);
printf("%d\n",v[n]);
return 0;
}