Pagini recente » Cod sursa (job #1398669) | Cod sursa (job #1803398) | Cod sursa (job #516067)
Cod sursa(job #516067)
#include <fstream>
using namespace std;
#define dim 1000
long long unsigned v[dim];
int aux[dim*10],aux1[dim*10],aux2[dim*10];
long long euclid(int a,int b)
{
if(b==0)
return a;
else
return euclid(b,a%b);
}
int main()
{
ifstream fin("oz.in");
ofstream fout("oz.out");
int n, m;
fin>> n >>m;
long long unsigned i, j,d;
for(i=1;i<=n;++i)
v[i]=1;
int dap=m;
for( ; m;--m)
{
fin>>i >>j >>d;
aux[m]=i;
aux1[m]=j;
aux2[m]=d;
v[i]=(v[i]*d)/euclid(v[i],d);
v[j]=(v[j]*d)/euclid(v[j],d);
}
int gasit=0;
i=1;
while(i<=dap && gasit==0)
{
if(euclid(v[aux[i]],v[aux1[i]])!=aux2[i])
gasit=1;
++i;
}
if(gasit==1)
fout<<"-1";
else
for(i=1;i<=n;++i)
fout<<v[i] <<" ";
return 0;
}