Pagini recente » Cod sursa (job #2611868) | Cod sursa (job #3187828) | Cod sursa (job #2464615) | Cod sursa (job #1557699) | Cod sursa (job #2690568)
#include <fstream>
using namespace std;
long long v1[10005],v[10005];
int poz1[100005],poz2[100005],d[100005];
long long cmmdc(long long a,long long b)
{
long long c;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
return a;
}
long long cmmmc(long long a,long long c)
{
return (a/cmmdc(a,c))*c;
}
int main()
{
ifstream fin("oz.in");
ofstream fout("oz.out");
long long n,m,a,b,c,ok=0,l1,l2,l3,lim=2000000000;
fin>>n>>m;
for(int i=1; i<=n; i++)
{
v1[i]=1;
v[i]=1;
}
for(int i=1; i<=m; i++)
{
fin>>poz1[i]>>poz2[i]>>d[i];
v[poz1[i]]=cmmmc(v[poz1[i]],d[i]);
v[poz2[i]]=cmmmc(v[poz2[i]],d[i]);
if(v[poz1[i]]>lim||v[poz2[i]]>lim)
{
ok=1;
break;
}
}
if(ok==0)
{
for(int i=1; i<=m; i++)
{
if(cmmdc(v[poz1[i]],v[poz2[i]])!=d[i])
{
ok=1;
break;
}
}
}
if(ok==0)
{
for(int i=1; i<=n; i++)
{
fout<<v[i]<<" ";
}
fout<<'\n';
}
else
{
fout<<"-1"<<'\n';
}
return 0;
}