Pagini recente » Cod sursa (job #518859) | Cod sursa (job #1446817) | Cod sursa (job #644537) | Cod sursa (job #569549) | Cod sursa (job #2286967)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
const int NMAX = 100005;
long long v[NMAX],a[NMAX],b[NMAX],CMMDC[NMAX];
long long cmmdc(long long x,long long y)
{
long long rest;
while(y!=0)
{
rest=x%y;
x=y;
y=rest;
}
return x;
}
int main()
{
int n,m;
fin >> n >> m;
for(int i=1;i<=n;i++) v[i]=1;
long long d;
int i,j;
for(int u=1;u<=m;u++)
{
fin >> i >> j >> d;
a[u]=i;
b[u]=j;
CMMDC[u]=d;
v[i]*=(d/cmmdc(v[i],d));
v[j]*=(d/cmmdc(v[j],d));
}
bool ok=1;
for(int i=1;i<=m;i++)
{
if(cmmdc(v[a[i]],v[b[i]])!=CMMDC[i]) ok=0;
}
if(ok==0)
{
fout << "-1";
}
else
{
for(int i=1;i<=n;i++) fout << v[i] << ' ';
}
return 0;
}