Pagini recente » Cod sursa (job #2408206) | Cod sursa (job #1139362) | Cod sursa (job #1825907) | Cod sursa (job #299897) | Cod sursa (job #991096)
Cod sursa(job #991096)
#include<fstream>
#define NN 100001
#define ll long long
using namespace std;
ifstream f("oz.in"); ofstream g("oz.out");
int n,m,p,ii[NN],jj[NN];
ll dd[NN],v[NN];
ll cmmmc(ll a, ll b)
{ ll r,pr=a*b;
while(b) r=a%b, a=b, b=r;
return pr/a;
}
ll cmmdc(ll a, ll b)
{ ll r;
while(b) r=a%b, a=b, b=r;
return a;
}
int main()
{ f>>n>>m;
for(p=1;p<=n;++p) v[p]=1;
for(p=1;p<=m;++p)
{ int i,j; ll d;
f>>i>>j>>d; ii[p]=i; jj[p]=j; dd[p]=d;
v[i]=cmmmc(v[i],d);
v[j]=cmmmc(v[j],d);
}
int w=1;
for(p=1;p<=m && w;)
if(cmmdc(v[ii[p]],v[jj[p]])==dd[p]) ++p; else w=0;
if(w) for(p=1;p<=n;p++) g<<v[p]<<" "; else g<<"-1";
g<<'\n'; g.close(); return 0;
}