Pagini recente » Cod sursa (job #267066) | preONI 2006 (Runda 4) | Cod sursa (job #1903668) | Cod sursa (job #3292969) | Cod sursa (job #166885)
Cod sursa(job #166885)
#include<fstream.h>
long x[10001],a1[100001],a2[100001],i,j,cmmdc1,cmmdc2[100001],n,m,aux1,aux2;
long cmmdc(long tz, long sh)
{
long r;
do {
r=tz%sh;
tz=sh;
sh=r;
}while (r);
return tz;
}
int main()
{
ifstream f("oz.in");
f>>n>>m;
for (i=1;i<=n;i++)x[i]=1;
for (i=1;i<=m;i++)
{
f>>a1[i]>>a2[i]>>cmmdc2[i];
cmmdc1=cmmdc2[i];
aux1=x[a1[i]];
aux2=x[a2[i]];
x[a1[i]]*=cmmdc1/cmmdc(x[a1[i]],cmmdc1);
x[a2[i]]*=cmmdc2[i]/cmmdc(x[a2[i]],cmmdc2[i]);
}
int ind=1;
for (i=1;i<=m;i++)
{
if (cmmdc(x[a1[i]],x[a2[i]])!=cmmdc2[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;
}