Pagini recente » Diferente pentru utilizator/andrei.finaru intre reviziile 23 si 15 | Istoria paginii problema/intervale2 | patrulatere | Diferente pentru problema/perrynator intre reviziile 68 si 25 | Cod sursa (job #473669)
Cod sursa(job #473669)
#include <fstream>
using namespace std;
long long a[10100];
int n,m;
int gcd(int x, int y) {
if (y == 0)
return x;
return gcd(y, x % y);
}
int main() {
ifstream fin("oz.in");
ofstream fout("oz.out");
fin >> n >> m;
for (int i = 1; i <= n; ++i)
a[i] = 1;
while (m--) {
int i,j,k;
fin >> i >> j >> k;
a[i] = a[i]*k / gcd(a[i], k);
a[j] = a[j]*k / gcd(a[j], k);
if (a[i] > 2000000000) {
fout << "-1\n";
fout.close();
return 0;
}
if (a[j] > 2000000000) {
fout << "-1\n";
fout.close();
return 0;
}
}
for (int i = 1; i <= n; ++i) {
if (a[i] > 2000000000) {
fout << "-1\n";
fout.close();
return 0;
}
}
for (int i = 1; i < n; ++i)
fout << a[i] << " ";
fout << a[n] << "\n";
fout.close();
return 0;
}