Pagini recente » Cod sursa (job #1094498) | Cod sursa (job #2003215) | Istoria paginii runda/25 | Cod sursa (job #2275449) | Cod sursa (job #2486351)
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
long long v[10000];
int aa[100000],bb[100000],cc[100000];
int cmmdc(int a, int b) {
int ac,bc,r;
ac=a;
bc=b;
while(bc>0) {
r=ac%bc;
ac=bc;
bc=r;
}
return ac;
}
int main() {
fin=fopen("oz.in","r");
fout=fopen("oz.out","w");
int n,m,i,a,b,c,f;
fscanf(fin,"%d%d",&n,&m);
for(i=0;i<m;i++) {
fscanf(fin,"%d%d%d",&a,&b,&c);
aa[i]=a;
bb[i]=b;
cc[i]=c;
if(v[a-1]+v[b-1]>0) {
if(v[a-1]>0) {
v[a-1]*=(c/cmmdc(v[a-1] , c));
}
if(v[b-1]>0) {
v[b-1]*=(c/cmmdc(v[b-1] , c));
}
}
else {
v[a-1]=c;
v[b-1]=c;
}
}
i=0;
f=0;
while(i<m && f==0) {
if(cmmdc(v[aa[i]-1] , v[bb[i]-1])!=cc[i]) {
f=1;
}
i++;
}
if(f==1) {
fprintf(fout,"-1\n");
}
else {
for(i=0;i<n;i++) {
fprintf(fout,"%lld ",v[i]);
}
fprintf(fout,"\n");
}
fclose(fin);
fclose(fout);
return 0;
}