Cod sursa(job #165955)

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

ifstream fin("oz.in");
ofstream fout("oz.out");
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;
}