Cod sursa(job #470544)

Utilizator mihai995mihai995 mihai995 Data 14 iulie 2010 15:34:48
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;

struct gcf{int a,b,d;} a[1<<17];
int v[1<<14],n,m;

ifstream in("oz.in");
ofstream out("oz.out");

int cmmdc(int a,int b)
{
	int c;
	while (b)
	{
		c=a%b;
		a=b;
		b=c;
	}
	return a;
}

inline int cmmmc(int a,int b)
{
	return a/cmmdc(a,b)*b;
}

int main()
{
	int i;
	in>>n>>m;
	for (i=1;i<=n;i++)
		v[i]=1;
	for (i=1;i<=m;i++)
	{
		in>>a[i].a>>a[i].b>>a[i].d;
		v[a[i].a]=cmmmc(v[a[i].a],a[i].d);
		v[a[i].b]=cmmmc(v[a[i].b],a[i].d);
	}
	for (i=1;i<=m;i++)
		if (cmmdc(v[a[i].a],v[a[i].b])!=a[i].d)
		{
			out<<"-1\n";
			return 0;
		}
	for (i=1;i<=n;i++)
		out<<v[i]<<" ";
	return 0;
}