Pagini recente » Cod sursa (job #625230) | Cod sursa (job #1943210) | Cod sursa (job #2739665) | Cod sursa (job #1408260) | Cod sursa (job #2808172)
#include <fstream>
#define MAX 2000000000
using namespace std;
ifstream fin("oz.in");
ofstream fout("oz.out");
int v[10001],n,m;
struct elem
{
int x,y,d;
}w[100001];
long long cmmdc(long long a, long long b)
{
long long r=0;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
long long cmmmc(long long a, long long b)
{
return a*b/cmmdc(a,b);
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
v[i]=1;
for(int i=1;i<=m;i++)
{
fin>>w[i].x>>w[i].y>>w[i].d;
v[w[i].x]=cmmmc(v[w[i].x],w[i].d);
v[w[i].y]=cmmmc(v[w[i].y],w[i].d);
if(v[w[i].x]>MAX||v[w[i].y]>MAX)
{
fout<<-1;
return 0;
}
}
for(int i=1;i<=n;i++)
{
if(cmmdc(v[w[i].x],v[w[i].y])!=w[i].d)
{
fout<<-1;
return 0;
}
}
for(int i=1;i<=n;i++)
{
fout<<v[i]<<" ";
}
return 0;
}