Pagini recente » Cod sursa (job #2235708) | Cod sursa (job #1369972) | Cod sursa (job #963979) | Cod sursa (job #476467) | Cod sursa (job #2493648)
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
long long v[10000],cc[100000];
int aa[100000],bb[100000];
long long cmmdc(long long a, long long b) {
long long 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,f;
long long a,b,c;
fscanf(fin,"%d%d",&n,&m);
for(i=0;i<n;i++)
v[i]=1;
for(i=0;i<m;i++) {
fscanf(fin,"%lld%lld%lld",&a,&b,&c);
a--;
b--;
aa[i]=a;
bb[i]=b;
cc[i]=c;
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;
}