Pagini recente » Cod sursa (job #2174680) | Cod sursa (job #1463315) | Cod sursa (job #2440652) | Cod sursa (job #1225375) | Cod sursa (job #1429831)
#include<fstream>
using namespace std;
int n, m, i, x;
int v[10002];
struct triplet{
int a;
int b;
int r;
};
triplet w[100002];
int cmmdc(int a, int b){
int r;
while(b != 0){
r = a % b;
a = b;
b = r;
}
return a;
}
ifstream fin("oz.in");
ofstream fout("oz.out");
int main(){
fin>> n >> m;
for(i = 1; i <= n; i++){
v[i] = 1;
}
for(i = 1; i <= m; i++){
fin>> w[i].a >> w[i].b >> w[i].r;
x = cmmdc(v[w[i].a], w[i].r);
v[w[i].a] = v[w[i].a] * w[i].r / x;
x = cmmdc(v[w[i].b], w[i].r);
v[w[i].b] = v[w[i].b] * w[i].r / x;
}
for(i = 1; i <= m; i++){
x = cmmdc(v[w[i].a], v[w[i].b]);
if(x != w[i].r){
fout<<"-1\n";
return 0;
}
}
for(i = 1; i <= n; i++){
fout<< v[i] <<" ";
}
return 0;
}