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