Pagini recente » Profil CozmaCodrin | Profil Dodeuc | sitemap.xml | Monitorul de evaluare | Cod sursa (job #3361301)
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
long long cmmdc(long long x,long long y){
while(y!=0){
long long t=x%y;
x=y;
y=t;
}
return x;
}
int main()
{
int a1,b2,c3,ok=1,n,m,v[10001],a[100001],b[100001],c[100001];
fin>>n>>m;
for(int i=1;i<=n;i++){
v[i]=1;
}
for(int i=1;i<=m;i++){
fin>>a1>>b2>>c3;
a[i]=a1;
b[i]=b2;
c[i]=c3;
long long ca=v[a1]/cmmdc(v[a1],c3)*c3;
long long cb=v[b2]/cmmdc(v[b2],c3)*c3;
if(ca>2000000000 || cb>2000000000){
ok=0;
break;
}
v[a1]=ca;
v[b2]=cb;
}
for(int i=1;i<=m;i++){
if(cmmdc(v[a[i]],v[b[i]]) != c[i]){
ok=0;
break;
}
}
if(ok==1){
for(int i=1;i<=n;i++){
fout<<v[i]<<" ";
}
}else{
fout<<-1;
}
return 0;
}