Pagini recente » Cod sursa (job #47747) | Cod sursa (job #1997812) | Cod sursa (job #355466) | Cod sursa (job #3029985) | Cod sursa (job #1335952)
#include <fstream>
using namespace std;
ifstream fin ("oz.in");
ofstream fout ("oz.out");
struct art { int f, s; long long di; } A[100010];
long long N, M, i, j, d, V[10010];
bool w = 1;
long long cmmdc(long long a, long long b)
{
while (b)
{
long long r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
fin >> N >> M;
for (int k = 1; k <= N; k++) V[k] = 1;
for (int k = 1; k <= M; k++)
{
fin >> A[k].f >> A[k].s >> A[k].di;
V[A[k].f] = (V[A[k].f] * A[k].di) / cmmdc(V[A[k].f], A[k].di);
V[A[k].s] = (V[A[k].s] * A[k].di) / cmmdc(V[A[k].s], A[k].di);
if (V[A[k].f] > 2000000000 || V[A[k].s] > 2000000000) w = 0;
}
//for (int k = 1; k <= M; k++) if (cmmdc(V[A[k].f], V[A[k].s]) != A[k].di) w = 0;
if (w) for (int k = 1; k <= N; k++) fout << V[k] << ' ';
else fout << "-1\n";
fout.close();
return 0;
}