Pagini recente » Cod sursa (job #1460924) | Cod sursa (job #636984) | Cod sursa (job #1029104) | Cod sursa (job #1581525) | Cod sursa (job #2486357)
#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);
a--;
b--;
aa[i]=a;
bb[i]=b;
cc[i]=c;
if(v[a]==0) {
v[a]=1;
}
if(v[b]==0) {
v[b]=1;
}
v[a]*=(c/cmmdc(v[a] , c));
v[b]*=(c/cmmdc(v[b] , c));
}
i=0;
f=0;
while(i<m && f==0) {
if(cmmdc(v[aa[i]] , v[bb[i]])!=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;
}