Pagini recente » Cod sursa (job #2322314) | Cod sursa (job #1590403) | Cod sursa (job #2496574) | Cod sursa (job #2714784) | Cod sursa (job #1831391)
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n,m,i,x[100005],y[100005],ok,r;
long long d[100005],a,b;
double v[10005];
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)
fin>>x[i]>>y[i]>>d[i];
for(i=1;i<=n;i++)
v[i]=1;
ok=0;
for(i=1;i<=m;i++)
{
a=v[x[i]];
b=d[i];
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
v[x[i]]/=a;
v[x[i]]*=d[i];
a=v[y[i]];
b=d[i];
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
v[y[i]]/=a;
v[y[i]]*=d[i];
if((v[x[i]]>=2000000000)||((int)v[x[i]]!=v[x[i]]))
{
ok=1;
break;
}
if((v[y[i]]>=2000000000)||((int)v[y[i]]!=v[y[i]]))
{
ok=1;
break;
}
}
if(ok==1)
fout<<-1;
else
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}