Pagini recente » Cod sursa (job #647692) | Cod sursa (job #2789753) | Cod sursa (job #704950) | Cod sursa (job #2645368) | Cod sursa (job #2512847)
#include <fstream>
using namespace std;
ifstream in("oz.in");
ofstream out("oz.out");
long long cmmmc(long long a,long long b)
{
long long cmmdc,r,aux,bux,cmmmc,boss;
aux=a;
bux=b;
if(a>b)
{
boss=a;
a=b;
b=boss;
}
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
cmmdc=a;
cmmmc=(aux*bux)/cmmdc;
return cmmmc;
}
long long cmmdc(long long a, long long b)
{
long long cmmdc,r,boss;
if(a>b)
{
boss=a;
a=b;
b=boss;
}
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
cmmdc=a;
return cmmdc;
}
int main()
{
long long n,m,ok=1;
static long long v[10002],i[100002],j[100002],d[100002];
in>>n>>m;
for(int p=1;p<=n;p++)
{
v[p]=1;
}
for(int k=1;k<=m;k++)
{
in>>i[k]>>j[k]>>d[k];
if(v[i[k]]%d[k]!=0)
{
v[i[k]]=cmmmc(v[i[k]],d[k]);
}
if(v[j[k]]%d[k]!=0)
{
v[j[k]]=cmmmc(v[j[k]],d[k]);
}
}
for(int k=1;k<=m;k++)
{
if(cmmdc(v[i[k]],v[j[k]])!=d[k] || v[i[k]]>2000000000 || v[j[k]]>2000000000)
{
ok=0;
break;
}
}
if(ok!=0)
{
for(int k=1;k<=n;k++)
{
if(k!=n)
out<<v[k]<<" ";
else
out<<v[k];
}
}
else
out<<"-1 ";
return 0;
}