Pagini recente » Cod sursa (job #1672715) | Cod sursa (job #584203) | Cod sursa (job #2976394) | Cod sursa (job #335582) | Cod sursa (job #728565)
Cod sursa(job #728565)
#include <fstream>
using namespace std;
ifstream F("oz.in");
ofstream G("oz.out");
#define Nmax 10011
#define ll long long
ll A[Nmax];
ll a[Nmax],b[Nmax],c[Nmax];
ll N,M;
ll cmmdc(ll x,ll y)
{ for (ll aux=0 ; y ; aux=y,y=x%y,x=aux ); return x; }
inline ll cmmmc(ll x,ll y)
{ return ( x*y ) /cmmdc(x,y) ; }
int main()
{
F>>N>>M;
for (ll i=1;i<=N;++i)
A[i]=1;
for (ll i=1;i<=M;++i)
{
F>>a[i]>>b[i]>>c[i];
A[a[i]]=cmmmc(A[a[i]],c[i]),A[b[i]]=cmmmc(A[b[i]],c[i]);
}
for (ll i=1;i<=M;++i)
if ( cmmdc(A[a[i]],A[b[i]]) != c[i] )
{G<<"-1\n"; F.close(); G.close(); return 0;}
for (ll i=1;i<=N;++i)
G<<A[i]<<' ';G<<'\n';
F.close();
G.close();
return 0;
}