Pagini recente » Atasamentele paginii sad | Statistici Ervin Alungulesei (TheGebster1) | Monitorul de evaluare | Diferente pentru runda/suceavaftw intre reviziile 5 si 6 | Cod sursa (job #1967874)
#include<fstream>
#define DIM 10005
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int v[DIM], n, m;
struct query{
int a;
int b;
int d;
} q[DIM * 10];
int cmmdc( int x, int y ){
int r;
while( y != 0 ){
r = x % y;
x = y;
y = r;
}
return x;
}
int main(){
fin >> n >> m;
fill( v + 1, v + n + 1, 1 );
for( int i = 1; i <= m; i++ ){
fin >> q[i].a >> q[i].b >> q[i].d;
v[ q[i].a ] *= q[i].d;
v[ q[i].b ] *= q[i].d;
}
for( int i = 1; i <= m; i++ ){
if( cmmdc( v[ q[i].a ], v[ q[i].b ] ) != q[i].d ){
fout << "-1\n";
return 0;
}
}
for( int i = 1; i <= n; i++ ){
fout << v[i] << " ";
}
return 0;
}