Pagini recente » Cod sursa (job #1160748) | Rating Eva Maria Simpetru (eva_simpetru) | Cod sursa (job #2861683) | Cod sursa (job #1201331) | Cod sursa (job #488482)
Cod sursa(job #488482)
#include<fstream>
#define dmax 10010
using namespace std;
long long n,m,i,j,d,ok;
long long v[dmax];
void initializare()
{
long long i;
for (i=1; i<=n; i++)
v[i]=1;
}
long long cmmdc(long long a, long long b)
{
long long r;
while (b!=0)
{
r=a % b; a=b; b=r;
}
return a;
}
long long cmmmc(long long a, long long b)
{
return (a * b) / cmmdc(a,b);
}
void calculare()
{
v[i]=cmmmc(v[i],d);
v[j]=cmmmc(v[j],d);
}
void verificare()
{
long long k;
ifstream fin("oz.in");
fin>>n>>m;
for (k=1; k<=m; k++)
{
fin>>i>>j>>d;
if (cmmdc(v[i],v[j])!=d)
{
ok=1;
return;
}
}
for (i=1; i<=n; i++)
if (v[i] > 2000000000)
{
ok=1;
return;
}
fin.close();
}
void afisare()
{
long long i;
ofstream fout("oz.out");
if (ok==1)
fout<<"-1"; else
for (i=1; i<=n; i++)
fout<<v[i]<<" ";
fout.close();
}
int main()
{
long long k;
ifstream fin("oz.in");
fin>>n>>m;
initializare();
for (k=1; k<=m; k++)
{
fin>>i>>j>>d;
calculare();
}
fin.close();
verificare();
afisare();
return 0;
}