Pagini recente » Cod sursa (job #2033663) | Cod sursa (job #2713172) | Cod sursa (job #1303980) | Cod sursa (job #869985) | Cod sursa (job #3032613)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
struct Element
{
int idx1, idx2, gcd;
};
const int NMAX = 1e4 + 5, MMAX = 1e5+5;
int n, m;
int ans[NMAX];
Element arr[MMAX];
inline void solution()
{
for(int i = 1; i <= n; ++ i)
ans[i] = 1;
bool ok = true;
for(int i = 1; i <= m; ++ i)
{
if(__gcd(ans[arr[i].idx1], ans[arr[i].idx2]) > arr[i].gcd)
{
ok = false;
}
else
{
if(__gcd(ans[arr[i].idx1], ans[arr[i].idx2]) == arr[i].gcd)
continue;
else
{
ans[arr[i].idx1] *= arr[i].gcd / __gcd(ans[arr[i].idx1], ans[arr[i].idx2]);
ans[arr[i].idx2] *= arr[i].gcd / __gcd(ans[arr[i].idx1], ans[arr[i].idx2]);
}
}
}
//if(ok)
//{
for(int i = 1; i <= n; ++ i)
fout << ans[i] << ' ';
//}
//else
//{
//cout << -1;
//}
}
signed main()
{
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n >> m;
for(int i = 1; i <= m; ++ i)
{
fin >> arr[i].idx1 >> arr[i].idx2 >> arr[i].gcd;
}
solution();
}