Cod sursa(job #773267)

Utilizator lucian666Vasilut Lucian lucian666 Data 1 august 2012 12:22:30
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb



#include<fstream>
#define NN 10001

using namespace std;
ofstream out("oz.out");

struct vraja
	{
		int i,j,d;};
		vraja v[10*NN];
		
int n,m,uz[NN];
		
int cmmdc(int a,int b);
void read();
void write();


int main()
{
	read();
	write();
	return 0;
}

int cmmdc(int a,int b)
{
	if(b==0)
		return a;
	else
		return cmmdc(b,a%b);
}


void read()
{
	ifstream in("oz.in");
	in>>n>>m;
	for(int i=1;i<=n;i++)
		uz[i]=1;
	for(int p=1;p<=m;p++)
	{
		in>>v[p].i>>v[p].j>>v[p].d;
		uz[v[p].i]=uz[v[p].i]/cmmdc(uz[v[p].i],v[p].d) *v[p].d;
		uz[v[p].j]=uz[v[p].j]/cmmdc(uz[v[p].j],v[p].d) *v[p].d;
	}
	
}


void write()
{
	for(int p=1;p<=m;p++)
	if(cmmdc(uz[v[p].i],uz[v[p].j])!=v[p].d)
	{
		out<<-1;
		return ;
	}
		for(int p=1;p<=n;p++)
			out<<uz[p]<<" ";
}