Pagini recente » Cod sursa (job #2100508) | Cod sursa (job #62480) | Cod sursa (job #1839115) | Cod sursa (job #393427) | Cod sursa (job #2866686)
#include <stdio.h>
#include <stdlib.h>
int v[10004];
int v2[3][100004];
int cmmdc(int a,int b){
int aux;
if(b==0){
return a;
}
aux=a%b;
a=b;
b=aux;
return cmmdc(a,b);
}
int main(){
int n,k,i,x,y,d,s;
FILE *fin,*fout;
fin=fopen("oz.in","r");
fout=fopen("oz.out","w");
fscanf(fin,"%d%d",&n,&k);
for(i=0;i<k;i++){
fscanf(fin,"%d%d%d",&x,&y,&d);
v2[0][i]=x;
v2[1][i]=y;
v2[2][i]=y;
if(v[x]==0){
v[x]=d;
}else{
v[x]=(v[x]*d)/cmmdc(v[x],d);
}
if(v[y]==0){
v[y]=d;
}else{
v[y]=(v[y]*d)/cmmdc(v[y],d);
}
}
s=0;
for(i=0;i<k;i++){
if(cmmdc(v2[0][i],v2[1][i])==v2[2][i]){
s=1;
}
}
if(s==0){
for(i=1;i<=n;i++){
fprintf(fout,"%d ",v[i]);
}
}else{
fprintf(fout,"-1");
}
fclose(fin);
fclose(fout);
return 0;
}