Cod sursa(job #488436)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 28 septembrie 2010 18:25:45
Problema Oz Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream.h>
#define NMAX 10002
#define NU 2000000000

int i, n, m, x, y, d, ok;
long long a[NMAX];
long long cmmmc(long long xx, long long yy)
{
	long long aa=xx, bb=yy, rez, r;
	r=xx%yy;
	while (r!=0)
	{
		xx=yy;
		yy=r;
		r=xx%yy;
	}
	rez=(aa*bb)/yy;
	return rez;
}

int main()
{
	ifstream f("oz.in");
	ofstream g("oz.out");
	
	f>>n>>m;
	for(i=1; i<=n; ++i)a[i]=1;
	ok=1;
	for(i=1; i<=m; ++i)
	{
		f>>x>>y>>d;
		a[x]=cmmmc(a[x],d);
		a[y]=cmmmc(a[y],d);
	}
	
	for (i=1; i<=n; ++i)
		if (a[i]>NU){ok=-1;break;}
	
	if (ok==1)
	{
	g<<a[1];
	for(i=2; i<=n; ++i) g<<" "<<a[i];
	g<<"\n";}
	else g<<"-1\n";
	f.close();
	g.close();
	return 0;
}