Pagini recente » Cod sursa (job #1418113) | Cod sursa (job #516506) | Cod sursa (job #2131004) | Cod sursa (job #1985860) | Cod sursa (job #335680)
Cod sursa(job #335680)
#include<stdio.h>
#define dim 10001
#define dimm 100001
using namespace std;
long long a[dim];
long 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()
{long n,m,i,nr1,nr2,div;
long aux;
FILE *f=fopen("oz.in","r"), *g=fopen("oz.out","w");
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=n;i++) a[i]=1;
for(i=1;i<=m;i++)
{fscanf(f,"%ld%ld%ld", &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,"%lld ",a[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}