Pagini recente » Cod sursa (job #402999) | Cod sursa (job #1345275) | Cod sursa (job #3217561) | Cod sursa (job #1347203) | Cod sursa (job #323883)
Cod sursa(job #323883)
#include <stdio.h>
#define Nmax 100000
int N,M,V[Nmax],k,i[Nmax],j[Nmax],sw;
long d[Nmax];
inline int CMMDC(int a,int b)
{int c;
while(b)
{
c=a%b;
a=b;
b=c;
}
return a;
}
inline int CMMMC(int x,int y)
{ return x*y/CMMDC(x,y);
}
int main()
{
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
scanf("%d %d",&N,&M);
for(k=1;k<=N;k++) V[k]++;
while(M--)
{
scanf("%d %d %ld",&i[M],&j[M],&d[M]);
V[i[M]]=CMMMC(V[i[M]],d[M]);
V[j[M]]=CMMMC(V[j[M]],d[M]);
}
for(k=1;k<=N;k++)
if(CMMDC(V[i[k]],V[j[k]])!=d[k]) sw=1;
if(sw==1) printf("-1");
else for(k=1;k<=N;k++) printf("%d ",V[k]);
return 0;
}