Pagini recente » Cod sursa (job #2456494) | Cod sursa (job #993527) | Cod sursa (job #1578990) | Cod sursa (job #1465508) | Cod sursa (job #1009899)
#include<cstdio>
int n,m,i,j,r,ok,a[100001],b[100001];
long long p,v[100001],x[100001],q;
FILE *f,*g;
long long cmmmc(long long n, long long m){
long long a=n,b=m;
long long r;
r=a%b;
while(r>0){
a=b;
b=r;
r=a%b;
}
return m*n/b;
}
int main(){
f=fopen("oz.in","r");
g=fopen("oz.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
v[i]=1;
}
for(i=1;i<=m;i++){
fscanf(f,"%d%d%lld",&a[i],&b[i],&x[i]);
v[a[i]]=cmmmc(v[a[i]],x[i]);
v[b[i]]=cmmmc(v[b[i]],x[i]);
}
ok=1;
for(i=1;i<=m;i++){
p=v[a[i]];
q=v[b[i]];
r=p%q;
while(r>0){
p=q;
q=r;
r=p%q;
}
if(q!=x[i]){
ok=0;
break;
}
}
if(ok==0)
fprintf(g,"-1");
else
for(i=1;i<=n;i++){
fprintf(g,"%d ",v[i]);
}
fclose(f);
fclose(g);
return 0;
}