Pagini recente » Cod sursa (job #1764038) | Cod sursa (job #466746) | Cod sursa (job #713175) | Istoria paginii runda/usu4/clasament | Cod sursa (job #1156640)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
#define MAX 10100
typedef long long ll;
ll cmmdc(ll a, ll b)
{
if(!b)
return a;
return cmmdc(b, a%b);
}
ll cmmmc(ll a, ll b)
{
return a*b/cmmdc(a, b);
}
ll a[MAX], x[10*MAX], y[10*MAX], d[10*MAX];
int main()
{
int n, m, i;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x[i]>>y[i]>>d[i];
a[x[i]]=max(1LL, a[x[i]]);
a[y[i]]=max(1LL, a[y[i]]);
a[x[i]]=cmmmc(a[x[i]], d[i]);
a[y[i]]=cmmmc(a[y[i]], d[i]);
}
int dd=1;
for(i=1;i<=m;i++)
{
if(cmmdc(a[x[i]], a[y[i]])!=d[i])
dd=0;
}
if(!dd)
fout<<-1;
else
{
for(i=1;i<=n;i++)
{
fout<<a[i]<<" ";
}
}
fout<<"\n";
}