Cod sursa(job #469956)

Utilizator bora_marianBora marian bora_marian Data 9 iulie 2010 21:41:40
Problema Oz Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
using namespace std;
int v[10003],n,m;
int cmmdc(int a,int b);
int verif();
int main()
{
	ifstream fin("oz.in");
	ofstream fout("oz.out");
	fin>>n;
	fin>>m;
	int i;
	for(i=1;i<=m;i++)
	{
		int a,b,c;
		fin>>a>>b>>c;
		if(v[a]==0)
			v[a]=1;
		if(v[b]==0)
			v[b]=1;
		int z=cmmdc(v[a],c);
		v[a]=v[a]*c;
		v[a]=v[a]/z;
		z=cmmdc(v[b],c);
		v[b]=v[b]*c;
		v[b]=v[b]/z;
	}
	if(verif()==0)
		fout<<"-1";
	else
	{
		for(i=1;i<=n;i++)
			fout<<v[i]<<" ";
	}
	//fout<<cmmdc(4,2);
	return 0;
}
int cmmdc(int a,int b)
{
    int rest;
	while(a%b)
	{
		rest=a%b;
		a=b;
		b=rest;
	}
	return b;
}
int verif()
{
	int i;
	for(i=1;i<=n;i++)
		if(v[i]<1)
			return 0;
	return 1;
}