Pagini recente » Cod sursa (job #1041599) | Cod sursa (job #1583097) | Cod sursa (job #1144092) | Cod sursa (job #2344118) | Cod sursa (job #860674)
Cod sursa(job #860674)
#include<stdio.h>
typedef long long lint;
lint sol[100005];
struct MyStruct {int i,j;lint d;} a[100005];
lint gcd(lint a,lint b)
{
return b==0?a:gcd(b,a%b);
}
lint lcm(lint a,lint b)
{
return a/gcd(a,b)*b;
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,i;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) sol[i]=1;
for(i=1;i<=m;i++)
{
scanf("%d%d%lld",&a[i].i,&a[i].j,&a[i].d);
sol[a[i].i]=lcm(sol[a[i].i],a[i].d);
sol[a[i].j]=lcm(sol[a[i].j],a[i].d);
}
for(i=1;i<=m;i++)
if(gcd(sol[a[i].i],sol[a[i].j])!=a[i].d)
{printf("-1\n");return 0;}
for(i=1;i<=n;i++)
printf("%lld ",sol[i]);
puts("");
return 0;
}