Cod sursa(job #165945)

Utilizator bazubBazu Bogdan bazub Data 27 martie 2008 10:29:42
Problema Oz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream.h>
long i,n,m,a[10001],ok;
long cmmdc(long a, long b){
	long r;
	while(a%b!=0){
		r=a%b;
		a=b;
		b=r;
	}
	return b;
}
long cmmmc(long a, long b){
	return a*b/cmmdc(a,b);
}
int main(){
struct{
	long x;
	long y;
	long d;
}nr[100001];

ifstream fin("oz.in");
ofstream fout("oz.ut");
fin>>n;
for(i=1;i<=n;i++)
	a[i]=1;
fin>>m;
for(i=1;i<=m;i++){
	fin>>nr[i].x>>nr[i].y>>nr[i].d;
	a[nr[i].x]=cmmmc(a[nr[i].x],nr[i].d);
	a[nr[i].y]=cmmmc(a[nr[i].y],nr[i].d);
}
for(i=1;i<=m;i++)
	if(cmmdc(a[nr[i].x],a[nr[i].y])!=nr[i].d){
		fout<<"-1";
		ok=1;
		break;
	}
if(ok==0){
for(i=1;i<=n;i++)
	fout<<a[i]<<' ';
}
fin.close();
fout.close();
return 0;
}