Cod sursa(job #488432)

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

int i, n, m, a[NMAX], x, y, d, ok;

int cmmmc(int xx, int yy)
{
	int r;
	long long aa=xx, bb=yy, rez;
	r=xx%yy;
	while (r!=0)
	{
		xx=yy;
		yy=r;
		r=xx%yy;
	}
	rez=(aa*bb)/yy;
	if (rez>2000000000) return -1;
	else return (aa*bb)/yy;
}

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);
		if (a[x]==-1 || a[y]==-1) { 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;
}