Pagini recente » Cod sursa (job #3232712) | Cod sursa (job #2564500) | Cod sursa (job #246410) | Cod sursa (job #507078) | Cod sursa (job #400902)
Cod sursa(job #400902)
#include<stdio.h>
int t,a,y,r,x,nr1,nr2,nr3,n,m,ok;
int v[10001],i[10001],j[10001],d[10001];
int main(){
FILE * f = fopen("oz.in","r");
FILE * g = fopen("oz.out","w");
fscanf(f,"%d %d",&n,&m);
for(t=1;t<=n;t++){
v[t]=1;
}
for(t=1;t<=m;t++){
fscanf(f,"%d%d%d",&i[t],&j[t],&d[t]);
nr1=i[t];
nr2=j[t];
nr3=d[t];
x=v[nr1];
y=nr3;
while(y!=0){
r=x%y;
x=y;
y=r;
}
v[nr1]*=(nr3/x);
y=v[nr2];
x=d[t];
while(y!=0){
r=x%y;
x=y;
y=r;
}
v[nr2]*=(nr3/x);
}
for(t=1;t<=m;t++){
x=v[i[t]];
y=v[j[t]];
while(y!=0){
r=x%y;
x=y;
y=r;
}
if(x!=d[t]){
ok=1;
break;
}
}
if(ok==0){
for(t=1;t<=n;t++){
fprintf(g,"%d ",v[t]);
}
}
else
fprintf(g,"-1");
fclose(f);
fclose(g);
return 0;
}