Pagini recente » Cod sursa (job #1115480) | Cod sursa (job #864664) | Numere Sprague-Grundy | Cod sursa (job #3150847) | Cod sursa (job #401746)
Cod sursa(job #401746)
#include <stdio.h>
int n,m;
int x1,x2,d;
int i,j;
int a,b,r;
int v[10001];
int ok;
int main(){
FILE*f1=fopen("oz.in","r");
fscanf(f1,"%d %d",&n,&m);
for(i=1;i<=n;i++)
v[i]=1;
for(i=1;i<=m;i++){
fscanf(f1,"%d %d %d",&x1,&x2,&d);
a=v[x1];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[x1]=v[x1]*(d/a);
a=v[x2];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[x2]=v[x2]*(d/a);
}
fclose(f1);
f1=fopen("oz.in","r");
fscanf(f1,"%d %d",&n,&m);
for(i=1;i<=m;i++){
fscanf(f1,"%d %d %d",&x1,&x2,&d);
a = v[x1];
b = v[x2];
while(b){
r=a%b;
a=b;
b=r;
}
if(a!=d){
ok=1;
break;
}
}
fclose(f1);
FILE*f2=fopen("oz.out","w");
if(ok)
fprintf(f2,"-1");
else
for(i=1;i<=n;i++)
fprintf(f2,"%d ",v[i]);
fclose(f2);
return 0;
}