Pagini recente » Cod sursa (job #347812) | Cod sursa (job #2541346) | Cod sursa (job #1367568) | Cod sursa (job #1509364) | Cod sursa (job #2753117)
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int n, m, i, x, y, sol, r, v[10002], a[100002], b[100002], D[100002];
int main(){
fin >> n >> m;
for ( i = 1; i <= m; i++ )
fin >> a[i] >> b[i] >> D[i];
for ( i = 1; i <= n; i++ )
v[i] = 1;
for ( i = 1; i <= m; i++ ){
x = v[a[i]];
y = D[i];
while ( y != 0 ){
r = x % y;
x = y;
y = r;
}
v[ a[i] ] = v[ a[i] ] / x * D[i];
x = v[ b[i] ];
y = D[i];
while ( y != 0 ){
r = x % y;
x = y;
y = r;
}
v[ b[i] ] = v[ b[i] ] / x * D[i];
}
for ( i = 1; i <= m; i++ ){
x = v[ a[i] ];
y = v[ b[i] ];
while ( y != 0 ){
r = x % y;
x = y;
y = r;
}
if ( x == D[i])
continue;
else{
fout << "-1";
return 0;
}
}
for ( i = 1; i <= n; i++ )
fout << v[i] << " ";
}