Pagini recente » Cod sursa (job #701235) | Cod sursa (job #96797) | Cod sursa (job #2339208) | Cod sursa (job #785903) | Cod sursa (job #521365)
Cod sursa(job #521365)
#include <stdio.h>
FILE *f=fopen("oz.in","r");
FILE *g=fopen("oz.out","w");
int n,m,v[10001];
int div(int a,int b){
int register a1=a,b1=b,r;
r=a1%b1;
while(r!=0){
a1=b1;
b1=r;
r=a1%b1;
}
a/=b1;
return a;
}
int main(void){
int register i,j;
fscanf(f,"%d %d",&n,&m);
int register nr=n,x,y,d;
for(i=1;i<=m;i++){
fscanf(f,"%d %d %d",&x,&y,&d);
if(v[x]==0){
v[x]=d;
nr--;
}
else{
v[x]*=div(d,v[x]);
if(v[x]>2000000000){
fprintf(g,"-1");
return 0;
}
}
if(v[y]==0){
v[y]=d;
nr--;
}
else{
v[y]*=div(d,v[y]);
if(v[y]>2000000000){
fprintf(g,"-1");
return 0;
}
}
}
if(nr!=0){
fprintf(g,"-1");
return 0;
}
for(i=1;i<=n;i++){
fprintf(g,"%d ",v[i]);
}
return 0;
}