Pagini recente » Cod sursa (job #1913261) | Cod sursa (job #837454) | Cod sursa (job #1306711) | Cod sursa (job #315288) | Cod sursa (job #210498)
Cod sursa(job #210498)
#include<stdio.h>
#define NMAX 10024
#define EXAG 100024
long long A[NMAX],S[EXAG][3];
//Happy coding :)
long long cmmdc(long long a,long long b)
{
if( !b ) return a;
return cmmdc( b, a%b );
}
void print(const int N,const int M)
{
int i;
long long a1,a2,a3;
for(i=1; i<=M; ++i)
{
a1=S[i][0];a2=S[i][1];a3=S[i][2];
if( cmmdc(A[a1],A[a2])!=a3 )
{
printf("-1\n");
return;
}
}
for(i=1; i<=N; ++i) printf("%lld ",A[i]);
printf("\n");
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int N,M;
scanf("%d%d",&N,&M);
int i;
long long a1,a2,a3;
for(i=1; i<=N; ++i) A[i]=1;
for(i=1; i<=M; ++i)
{
scanf("%lld%lld%lld\n",&S[i][0],&S[i][1],&S[i][2]);
a1=S[i][0];a2=S[i][1];a3=S[i][2];
A[a1]=A[a1]*a3/ (cmmdc( A[a1],a3 ) );
A[a2]=A[a2]*a3/ (cmmdc( A[a2],a3 ) );
}
print(N,M);
return 0;
}