Pagini recente » Cod sursa (job #1389550) | Clasament contest_4 | Cod sursa (job #875945) | Cod sursa (job #205262) | Cod sursa (job #1234984)
#include <fstream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
const int NMAX = 10000;
long long v[NMAX+1];
long long N, K;
long long cmmdc( long long a, long long b ) {
long long r;
while( b ) {
r= a%b;
a= b;
b= r;
}
return a;
}
int main() {
in >> N >> K;
for( int i= 1; i<=N; ++i ) v[i]= 1;
for( int i= 1; i<=N; ++i ) {
long long x,y,d;
in >> x >> y >> d;
v[x]= v[x]/cmmdc(v[x], d) * d;
v[y]= v[y]/cmmdc(v[y], d) * d;
}
in.close();
ifstream in("oz.in");
in >> N >> K;
bool OK= 1;
for( int i= 1; i<=K && OK; ++i ) {
long long x,y, d;
in >> x >> y >> d;
OK= (cmmdc(v[x], v[y]) == d);
}
for( int i= 1; i<=N && OK; ++i ) OK= ( v[i] <= 2000000000 );
if( OK ) {
for( int i= 1; i<=N; ++i ) out << v[i] << ' ';
}
else {
out << "-1";
}
out << '\n';
return 0;
}