Pagini recente » Cod sursa (job #1427485) | Cod sursa (job #1266176) | Cod sursa (job #217686) | Cod sursa (job #592583) | Cod sursa (job #166121)
Cod sursa(job #166121)
#include<stdio.h>
struct diviz{
int a,b,d;
}nr[100100];
int sol[10100];
int cmmdc(int a,int b){
if(!b)
return a;
return cmmdc(b,a%b);
}
int main(){
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,i,ok;
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i)
sol[i]=1;
for(i=0;i<m;++i){
scanf("%d%d%d",&nr[i].a,&nr[i].b,&nr[i].d);
sol[nr[i].a]=(sol[nr[i].a]*nr[i].d)/cmmdc(sol[nr[i].a],nr[i].d);
sol[nr[i].b]=(sol[nr[i].b]*nr[i].d)/cmmdc(sol[nr[i].b],nr[i].d);
}
ok=1;
for(i=0;i<m && ok;++i){
if(sol[nr[i].a]%nr[i].d || sol[nr[i].b]%nr[i].d)
ok=0;
}
if(!ok){
printf("-1\n");
fclose(stdin);
fclose(stdout);
return 0;
}
for(i=1;i<n;++i)
printf("%d ",sol[i]);
printf("%d\n",sol[n]);
fclose(stdin);
fclose(stdout);
return 0;
}