Pagini recente » Cod sursa (job #926971) | Cod sursa (job #1564434) | Cod sursa (job #1426530) | Cod sursa (job #283063) | Cod sursa (job #3147053)
//https://www.infoarena.ro/problema/oz
#include <bits/stdc++.h>
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
using ull = unsigned long long;
int main() {
ios_base::sync_with_stdio(false);
in.tie(NULL);
out.tie(NULL);
ull n, m;
in >> n >> m;
vector<ull>ans(n + 1);
while (m--) {
ull i, j, d;
in >> i >> j >> d;
if (ans[i] == 0)
ans[i] = d;
else
__gcd(ans[i], d) == 1 ? ans[i] *= d : ans[i] = ans[i] / __gcd(ans[i], d) * d;
if (ans[j] == 0)
ans[j] = d;
else
__gcd(ans[j], d) == 1 ? ans[j] *= d : ans[j] = ans[j] / __gcd(ans[j], d) * d;
}
for (int i = 1; i <= n; i++)
if (ans[i] == 0 || ans[i] == 1 || ans[i] > 2000000000)
{
out << -1 << '\n';
return 0;
}
for (auto it : ans)
if (it)
out << it << ' ';
out << '\n';
return 0;
}