Pagini recente » Cod sursa (job #242240) | Cod sursa (job #1429997) | Cod sursa (job #3229067) | Cod sursa (job #2272009) | Cod sursa (job #1846027)
#include <fstream>
#include <vector>
#define nmax 100050
#define miliard 2000000000
using namespace std;
ifstream f("oz.in");
ofstream g("oz.out");
int n,m,ok=1,x[nmax],y[nmax],z[nmax];
long long v[nmax];
int cmmdc(int x,int y)
{
if (y==0)
return x;
return cmmdc(y,x%y);
}
int main()
{
int i,j,t;
f>>n>>m;
for (i=1;i<=m;i++) {
f>>x[i]>>y[i]>>z[i];
if (v[x[i]]==0)
v[x[i]]=z[i];
else {
t=cmmdc(v[x[i]],z[i]);
v[x[i]]*=z[i]/t;
}
if (v[y[i]]==0)
v[y[i]]=z[i];
else {
t=cmmdc(v[y[i]],z[i]);
v[y[i]]*=z[i]/t;
}
}
for (i=1;i<=n;i++) {
if (v[i]==0)
v[i]=1;
if (v[i]>miliard)
ok=0;
}
for (i=1;i<=m;i++)
if (cmmdc(v[x[i]],v[y[i]])!=z[i])
ok=0;
if (ok==1)
for (i=1;i<=n;i++)
g<<v[i];
else
g<<-1;
return 0;
}