Pagini recente » Profil Daniel1994 | Profil razvan88 | Diferente pentru template/fmi-no-stress-5/header intre reviziile 4 si 5 | Diferente pentru blog/interviu-evz-mihai-stroe intre reviziile 6 si 7 | Cod sursa (job #1388045)
#include <fstream>
#define DIM 10010
using namespace std;
ifstream fin ("oz.in" );
ofstream fout("oz.out");
int N, M, i, j, K, x, y, z;
int Q, V[DIM], ok;
int W[DIM*10][3];
void SetUp(){
fin >> N >> Q;
for(i = 1; i <= N; i ++)
V[i] = 1;
return;
}
int cmmdc(int a, int b){
while(b != 0){
int c = a % b;
a = b; b = c;
}
return a;
}
void CodeExpert(){
ok = 1;
for(i = 1; i <= Q; i ++){
fin >> x >> y >> z;
W[i][0] = x;
W[i][1] = y;
W[i][2] = z;
V[x] = (V[x] * z) / (cmmdc(V[x], z));
V[y] = (V[y] * z) / (cmmdc(V[y], z));
if(cmmdc(V[x], V[y]) != z){
ok = 0; break;
}
}
return;
}
void Verify(){
for(i = 1; i <= Q; i ++){
x = W[i][0];
y = W[i][1];
z = W[i][2];
if(cmmdc(V[x], V[y]) != z){
ok = 0; break;
}
}
return;
}
void Finish(){
if(ok == 0){
fout << -1;
return;
}
for(i = 1; i <= N; i ++)
fout << V[i] << " ";
return;
}
int main(){
SetUp();
CodeExpert();
Verify();
Finish();
return 0;
}