Pagini recente » Cod sursa (job #1856329) | Cod sursa (job #1738300) | Cod sursa (job #2086968) | Cod sursa (job #2987956) | Cod sursa (job #709042)
Cod sursa(job #709042)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,x[100100],y[100100],d[100100];
int v[10100];
inline int cmmdc(int a,int b)
{
//cout<<a<<' '<<b<<'\n';
int r=0;
while(b)
{
r=a%b;
a=b;
b=r;
}
//cout<<a<<' ';
return a;
}
inline long long cmmmc(int a,int b)
{
return (1LL*a*b)/cmmdc(a,b);
}
int main()
{
ifstream in("oz.in");
ofstream out("oz.out");
in>>n>>m;
for(int i=1;i<=n;++i) v[i]=1;
for(int i=1;i<=m;++i)
{
in>>x[i]>>y[i]>>d[i];
v[x[i]]=cmmmc(v[x[i]],d[i]);
v[y[i]]=cmmmc(v[y[i]],d[i]);
/*for(int i=1;i<=n;++i)
{
cout<<v[i]<<' ';
}
cout<<"\n\n";*/
}
for(int i=1;i<=m;++i)
{
if(cmmdc(v[x[i]],v[y[i]])!=d[i])
{
out<<"-1\n";
return 0;
}
}
for(int i=1;i<=n;++i)
{
out<<v[i]<<' ';
}
out.close();
return 0;
}