Pagini recente » Cod sursa (job #1762920) | Cod sursa (job #63814) | Istoria paginii runda/simulare1_martie | Cod sursa (job #2362600) | Cod sursa (job #3037743)
#include <fstream>
#define nmax 100005
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
long long v[nmax];
long long n, m, x, y, d, temp;
struct lol
{
long long xx, xy, xd;
};
lol v1[nmax];
long long cmmdc(long long a, long long b)
{
long long r;
while(b!=0)
{
r = a%b;
a = b;
b = r;
}
return a;
}
int main()
{
in>>n>>m;
for(int i=1; i<=n; i++)
v[i] =1;
for(int i=1; i<=m; i++)
{
in>>x>>y>>d;
v1[i].xx = x;
v1[i].xy = y;
v1[i].xd = d;
temp = cmmdc(d,v[x]);
v[x] *= d;
v[x] /= temp;
temp = cmmdc(d,v[y]);
v[y] *= d;
v[y] /=temp;
}
for(int i=1; i<=n; i++)
{
if(cmmdc(v[v1[i].xx],v[v1[i].xy])!= v1[i].xd)
{
out<<-1;
break;
}
else
out<<v[i]<<" ";
}
return 0;
}