Pagini recente » Cod sursa (job #3174140) | Cod sursa (job #60653) | Cod sursa (job #2564651) | Cod sursa (job #1713293) | Cod sursa (job #1151359)
#include <fstream>
using namespace std;
typedef struct {int pi,pj;long long dd;} CMM;
CMM ele[100001];
long long vec[10001];
bool modi[10001];
long long cmmdc(long long a, long long b)
{
long long r;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
int n,m;
int ii,i,j;
long long d, dc;
bool posib=1;
ifstream f("oz.in");
f>>n>>m;
for(i=1;i<=n;i++)
vec[i]=1;
for(ii=1;ii<=m;ii++)
{
f>>i>>j>>d;
dc=cmmdc(vec[i],d);
vec[i]=vec[i]/dc*d;
dc=cmmdc(vec[j],d);
vec[j]=vec[j]/dc*d;
modi[i]=1;
modi[j]=1;
ele[ii].pi=i;
ele[ii].pj=j;
ele[ii].dd=d;
}
f.close();
for(i=1;i<=n;i++)
if(!modi[i])
break;
if(i<=n)
posib=0;
for(ii=1;ii<=m;ii++)
if(cmmdc(vec[ele[ii].pi],vec[ele[ii].pj])!=ele[ii].dd)
break;
if(ii<=m)
posib=0;
ofstream g("oz.out");
if(!posib)
g<<"-1";
else
for(i=1;i<=n;i++)
g<<vec[i]<<" ";
g<<'\n';
g.close();
return 0;
}