Pagini recente » Cod sursa (job #2309533) | Cod sursa (job #1788733) | Cod sursa (job #967216) | Cod sursa (job #866747) | Cod sursa (job #2267455)
#include <stdio.h>
FILE *fin=fopen("oz.in","r");
FILE *fout=fopen("oz.out","w");
int n,m,t,aux;
long long v[10002];
struct ijd
{
int I;
int J;
int D;
}w[100002];
int cmmdc(int a,int b)
{
if(b==0) return a;
return cmmdc(b,a%b);
}
int main()
{
fscanf(fin,"%d%d",&n,&m);
for(t=1;t<=n;t++)
v[t]=1;
for(t=1;t<=m;t++)
{
fscanf(fin,"%d%d%d",&w[t].I,&w[t].J,&w[t].D);
v[w[t].I]=(v[w[t].I]*w[t].D)/cmmdc(v[w[t].I],w[t].D);
v[w[t].J]=(v[w[t].J]*w[t].D)/cmmdc(v[w[t].J],w[t].D);
}
for(t=1;t<=m;t++)
if(w[t].D != cmmdc(v[w[t].I],v[w[t].J]))
{
fprintf(fout,"-1");
return 0;
}
for(t=1;t<=n;t++)
fprintf(fout,"%lld ",v[t]);
return 0;
}