Pagini recente » Cod sursa (job #425275) | Cod sursa (job #513160) | Cod sursa (job #3268505) | Cod sursa (job #1071494) | Cod sursa (job #2222411)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("oz.in");
ofstream fout ("oz.out");
int n, m, i, l, r, d, v[10005];
struct nr{
int x;
int y;
int z;
};
deque <nr> dq;
int gcd(int a, int b)
{
if (b != 0)
return gcd(b, a%b);
else
return a;
}
int main()
{
fin >> n >> m;
for (i=1; i<=n; i++){
v[i] = 1;
}
for (i=1; i<=m; i++){
fin >> l >> r >> d;
dq.push_back({l, r, d});
v[l] = v[l]/gcd(v[l], d)*d;
v[r] = v[r]/gcd(v[r], d)*d;
}
while (!dq.empty()){
if (gcd(v[dq.front().x], v[dq.front().y]) != dq.front().z){
fout << -1;
return 0;
}
dq.pop_front();
}
for (i=1; i<=n; i++)
fout << v[i] << " ";
return 0;
}