Pagini recente » Cod sursa (job #1490568) | Cod sursa (job #2545554) | Cod sursa (job #2444635) | Cod sursa (job #1633318) | Cod sursa (job #3247805)
#include <fstream>
using namespace std;
ifstream cin("oz.in");
ofstream cout("oz.out");
int n,m,i,j,a,b,d;
int v[10000],f[100000];
bool e[100000];
int main()
{
for(i=2;i<=10000;i++)
{
for(j=i+i;j<=100000;j+=i)
{
e[j]=1;
}
}
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>a>>b>>d;
if(v[a]==0)
{
v[a]=1;
}
if(v[b]==0)
{
v[b]=1;
}
if(v[a]%d!=0)
{
v[a]=v[a]*d;
}
if(v[b]%d!=0)
{
v[b]=v[b]*d;
}
int l=2;
while(l<=d)
{
if(e[l]==0 && d%l==0)
{
d=d/l;
e[l]=1;
}
l++;
}
}
int verif=0;
for(i=1;i<=n;i++)
{
f[v[i]]++;
if(v[i]==0)
{
verif=1;
}
if(f[v[i]]>1)
{
for(j=1;j<=100000;j++)
{
if(e[j]==0)
{
v[i]=v[i]*j;
break;
}
}
}
}
if(verif==1)
{
cout<<"-1";
}
else
{
for(i=1;i<=n;i++)
{
cout<<v[i]<<" ";
}
}
}