Pagini recente » Cod sursa (job #1010447) | Cod sursa (job #856656) | Cod sursa (job #331364) | Istoria paginii runda/boolanel_returns | Cod sursa (job #2011104)
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("oz.in");
ofstream so("oz.out");
int gcd(int a,int b)
{
if (b==0)
return a;
else
return gcd(b,a%b);
}
int g[10005];
int a[100005],b[100005],d[100005];
int main()
{
int n,m;
si>>n>>m;
for(int i=1;i<=n;i++)
g[i]=1;
for(int i=1;i<=m;i++)
{
si>>a[i]>>b[i]>>d[i];
g[a[i]]=g[a[i]]/gcd(g[a[i]],d[i])*d[i];
g[b[i]]=g[b[i]]/gcd(g[b[i]],d[i])*d[i];
}
for(int i=1;i<=m;i++)
if(gcd(g[a[i]],g[b[i]])!=d[i])
{
so<<-1;
return 0;
}
for(int i=1;i<=n;i++)
{
so<<g[i]<<' ';
}
return 0;
}