Pagini recente » Cod sursa (job #1939929) | Cod sursa (job #757201) | Cod sursa (job #1724499) | Cod sursa (job #2840913) | Cod sursa (job #1429832)
#include<fstream>
using namespace std;
long long n, m, i, x;
long long v[10002];
struct triplet{
int a;
int b;
int r;
};
triplet w[100002];
long long cmmdc(long long a, long long b){
long long 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;
}