Cod sursa(job #211630)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 3 octombrie 2008 00:15:31
Problema Oz Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#define NMAX 10000
#define MMAX 100000
struct trip{int x,y,z;};

int cmmdc(int a,int b){
int r=a%b;
while(r){
	a=b;b=r;r=a%b;
	}
return b;
}
int main(){
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
int n,m,f1,f2,dc;
int i,j,v[NMAX+1];
trip w[MMAX+1];
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i) v[i]=1;
for(j=1;j<=m;++j)
	scanf("%d%d%d",&w[j].x,&w[j].y,&w[j].z);
for(j=1;j<=m;++j){
	dc=cmmdc(v[w[j].x],w[j].z);
	f1=w[j].z/dc;v[w[j].x]*=f1;
	dc=cmmdc(v[w[j].y],w[j].z);
	f2=w[j].z/dc;v[w[j].y]*=f2;
	}
for(i=1;i<=n;++i) printf("%d ",v[i]);
return 0;
}