Pagini recente » Cod sursa (job #1771592) | Cod sursa (job #1809401) | Cod sursa (job #1692213) | Cod sursa (job #2847376) | Cod sursa (job #400906)
Cod sursa(job #400906)
#include <stdio.h>
FILE*f=fopen("oz.in","r");
FILE*g=fopen("oz.out","w");
int a,b,r,ok,t,m,n,v[10002],i[100002],j[100002],d[100002];
int main() {
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]);
a=v[i[t]];
b=d[t];
r=0;
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[i[t]]*=d[t]/a;
a=v[j[t]];
b=d[t];
r=0;
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[j[t]]*=d[t]/a;
}
for(t=1;t<=m&&ok==0;t++){
a=v[i[t]];
b=v[j[t]];
r=0;
while(b!=0){
r=a%b;
a=b;
b=r;
}
if(a!=d[t])
ok=1;
}
if(ok==0)
for(t=1;t<=n;t++)
fprintf(g,"%d ",v[t]);
else
fprintf(g,"-1");
fclose(f);
fclose(g);
return 0;
}