Pagini recente » Cod sursa (job #326685) | Cod sursa (job #3271995) | Cod sursa (job #581960) | Cod sursa (job #2435194) | Cod sursa (job #1671358)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <bitset>
using namespace std;
ifstream fin ("oz.in");
ofstream fout("oz.out");
unsigned long long v[10010],i,j,d,h,n,m,ok;
pair <pair<unsigned long long,unsigned long long>, unsigned long long> u[10010];
unsigned long long cmmdc(unsigned long long a, unsigned long long b)
{
unsigned long long r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
v[i]=1;
for(h=1;h<=m;h++)
{
fin>>i>>j>>d;
v[i]*=d/cmmdc(v[i], d);
v[j]*=d/cmmdc(v[j], d);
u[h].first.first=i;
u[h].first.second=j;
u[h].second=d;
}
ok=0;
for(h=1;h<=m;h++)
{
if(cmmdc(v[u[h].first.first], v[u[h].first.second])!=u[h].second)
{
fout<<-1;
ok=1;
break;
}
}
if(ok==0)
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
fin.close();
fout.close();
return 0;
}