Pagini recente » Cod sursa (job #3167870) | Cod sursa (job #266842) | Cod sursa (job #1359590) | Cod sursa (job #57065) | Cod sursa (job #166901)
Cod sursa(job #166901)
#include<fstream.h>
long cmmdc(long tz, long sh)
{
long r;
do {
r=tz%sh;
tz=sh;
sh=r;
}while (r);
return tz;
}
long x[10001]={1};
int main()
{
int a1[100001]={1},a2[100001]={1},i,j,d,d2[100001],n,m,aux1,aux2;
ifstream f("oz.in");
f>>n>>m;
for (i=1;i<=m;i++)
{
f>>a1[i]>>a2[i]>>d2[i];
d=d2[i];
aux1=x[a1[i]];
aux2=x[a2[i]];
x[a1[i]]*=d/cmmdc(aux1,d);
x[a2[i]]*=d2[i]/cmmdc(aux2,d);
}
int ind=1;
for (i=1;i<=m;i++)
{
if (cmmdc(x[a1[i]],x[a2[i]])!=d2[i])
{
ind=0;
i=100100;
}
}
f.close();
ofstream g("oz.out");
if (ind) for (i=1;i<=n;i++) g<<x[i]<<" ";
else g<<"-1";
g<<'\n';
g.close();
return 0;
}