Pagini recente » Cod sursa (job #2799602) | Cod sursa (job #1814727) | Cod sursa (job #2786435) | Cod sursa (job #814588) | Cod sursa (job #489435)
Cod sursa(job #489435)
#include<cstdio>
#define dmil 2000000000
using namespace std;
long n,m,a[10001],ok1;
void build();
void check();
void write();
long long cmmmc ( long long A,long long B);
long long cmmdc (long long A,long long B);
int main()
{
freopen ("oz.in","r",stdin);
freopen ("oz.out","w",stdout);
build();
check();
if (!ok1) write();
else printf("-1");
return 0;
}
void build()
{
int i,x,y,d;
long long x2;
scanf("%ld%ld",&n,&m);
for (i=1;i<=n;a[i++]=1);
for (i=1;i<=m;++i)
{
scanf("%ld%ld%ld",&x,&y,&d);
x2=cmmmc(a[x],d);
if (x2>dmil) {ok1=1; return;}
a[x]=x2;
x2=cmmmc(a[y],d);
if (x2>dmil) {ok1=1; return;}
a[y]=x2;
}
}
void check()
{
int i,x,y,d;
freopen ("oz.in","r",stdin);
scanf("%ld%ld",&n,&m);
for (i=1;i<=m;++i)
{
scanf("%ld%ld%ld",&x,&y,&d);
if (cmmdc(a[x],a[y])!=d) {ok1=1; return;}
}
}
long long cmmmc(long long A,long long B)
{
return ((A/cmmdc(A,B))*B);
}
void write()
{
int i;
for (i=1;i<=n;printf("%ld ",a[i++]));
}
long long cmmdc(long long A,long long B)
{
long long r;
while (B)
{
r=A%B;
A=B;
B=r;
}
return A;
}