Pagini recente » Cod sursa (job #3269630) | Cod sursa (job #1327036) | Cod sursa (job #1136168) | Cod sursa (job #1613953) | Cod sursa (job #1215922)
#include<cstdio>
using namespace std;
FILE *f=fopen ("oz.in","r");
FILE *g=fopen ("oz.out","w");
int vsol[10005],x[100005],y[100005],d[100005];
int cmmdc(int a,int b){
int r;
while (b){
r=a%b;
a=b;
b=r;
}
return a;
}
int main(){
int n,m;
fscanf (f,"%d%d",&n,&m);
for(int i=1;i<=n;++i) vsol[i]=1;
for(int i=1;i<=m;++i){
fscanf (f,"%d%d%d",&x[i],&y[i],&d[i]);
vsol[x[i]]*=(d[i]/cmmdc(vsol[x[i]],d[i]));
vsol[y[i]]*=(d[i]/cmmdc(vsol[y[i]],d[i]));
}
for(int i=1;i<=m;++i) {
if(cmmdc(vsol[x[i]],vsol[y[i]])!=d[i]){
fprintf (g,"-1\n");
return 0;
}
}
for(int i=1;i<=n;++i) fprintf (g,"%d ",vsol[i]);
return 0;
}