Pagini recente » Cod sursa (job #2838736) | Cod sursa (job #2097400) | Cod sursa (job #2972738) | Cod sursa (job #91819) | Cod sursa (job #525704)
Cod sursa(job #525704)
#include<stdio.h>
FILE*fin,*fout;
long int v[10001],i,j,n,m,x,y,d,a[3][100001];
int cmmdc(long int a,long int b){
long int r,p;
p=a*b;
while(b!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int cmmmc(long int a,long int b){
return a*b/cmmdc(a,b);
}
int main(){
fin=fopen("oz.in","r");
fout=fopen("oz.out","w");
fscanf(fin,"%ld %ld",&n,&m);
for(i=1;i<=n;i++){v[i]=1;}
for(i=1;i<=m;i++){
fscanf(fin,"%ld %ld %ld",&x,&y,&d);
v[x]=cmmmc(v[x],d);
v[y]=cmmmc(v[y],d);
a[1][i]=x;
a[2][i]=y;
a[3][i]=d;
}
int ok=1;
for(i=1;i<=m;i++){
if(cmmdc(v[a[1][i]],v[a[2][i]])!=a[3][i]){ok=0;fprintf(fout,"-1");return 0;}
}
for(i=1;i<=n;i++){
if(v[i]>=2000000000){fprintf(fout,"-1");return 0;}
}
for(i=1;i<=n;i++){fprintf(fout,"%ld ",v[i]);}
return 0;}