Pagini recente » Cod sursa (job #23112) | Cod sursa (job #2523566) | Cod sursa (job #1743959) | Cod sursa (job #1641199) | Cod sursa (job #3185587)
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
struct triplet{
int i,j,x;
};
int n,m,v[10002],i,j,k,x,a,b,r;
triplet v2[100002];
int main(){
for(i=0;i<=10001;i++){
v[i]=1;
}
ifstream fin("oz.in");
ofstream fout("oz.out");
fin>>n>>m;
for(k=0;k<m;k++){
fin>>i>>j>>x;
v2[k]={i,j,x};
if(v[i]==0){
v[i]=x;
}else{
a=v[i];
b=x;
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[i]=v[i]/a*x;
}
if(v[j]==0){
v[j]=x;
}else{
a=v[j];
b=x;
while(b!=0){
r=a%b;
a=b;
b=r;
}
v[j]=v[j]/a*x;
}
}
for(k=0;k<m;k++){
a=v[v2[k].i];
b=v[v2[k].j];
while(b!=0){
r=a%b;
a=b;
b=r;
}
if(a!=x){
fout<<-1;
return 0;
}
}
for(i=1;i<=n;i++){
fout<<v[i]<<' ';
}
return 0;
}