Pagini recente » Cod sursa (job #35620) | Cod sursa (job #63689) | Cod sursa (job #1813031) | Cod sursa (job #1924725) | Cod sursa (job #335619)
Cod sursa(job #335619)
#include<stdio.h>
#define dim 10001
#define dimm 100001
using namespace std;
long a[dim];
int nrv1[dimm],nrv2[dimm],divv[dimm];
long euclid(long a, long b)
{int r;
while(b!=0)
{r=a%b;
a=b;
b=r;}
return a;
}
int main()
{int n,m,i,nr1,nr2,div;
long aux;
FILE *f=fopen("oz.in","r"), *g=fopen("oz.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++) a[i]=1;
for(i=1;i<=m;i++)
{fscanf(f,"%d%d%d", &nr1,&nr2,&div);
nrv1[i]=nr1; nrv2[i]=nr2; divv[i]=div;
aux=euclid(a[nr1],div);
a[nr1]=a[nr1]*div/aux;
aux=euclid(a[nr2],div);
a[nr2]=a[nr2]*div/aux;
}
for(i=1;i<=m;i++)
{aux=euclid(a[nrv1[i]],a[nrv2[i]]);
if(aux!=divv[i]) {fprintf(g,"-1"); fclose(f); fclose(g); return 0;}
}
for(i=1;i<=n;i++)
fprintf(g,"%ld ",a[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}