Pagini recente » Cod sursa (job #615754) | Cod sursa (job #1775937) | Cod sursa (job #2963005) | Rating Calina Cristian Florin (Calina_Cristian_Florin_323CA) | Cod sursa (job #401723)
Cod sursa(job #401723)
#include<stdio.h>
int a,b,n,m,i,k,j,d,r,p,q,s,t,ok;
int v[10000],vi[100006],vj[100006],vd[100006];
int main(){
FILE* f=fopen("oz.in","r");
FILE* g=fopen("oz.out","w");
fscanf(f,"%d %d\n",&n,&m);
for(p=1;p<=n;p++)
v[p]=1;
for(k=1;k<=m;k++){
fscanf(f,"%d %d %d",&i,&j,&d);
vi[++t]=i;
vj[++s]=j;
vd[++q]=d;
a=v[i];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[i]*=d/a;
a=v[j];
b=d;
while(b){
r=a%b;
a=b;
b=r;
}
v[j]*=d/a;
}
ok=1;
for(i=1;i<=t;i++){
a=v[vi[i]];
b=v[vj[i]];
while(b){
r=a%b;
a=b;
b=r;
}
if(a!=vd[i])
ok=0;
}
if(ok)
for(i=1;i<=n;i++)
fprintf(g,"%d ",v[i]);
else
fprintf(g,"-1");
fclose(f);
fclose(g);
return 0;
}