Cod sursa(job #2192012)

Utilizator ovidius11Stiriu Ovidius ovidius11 Data 4 aprilie 2018 13:53:45
Problema Oz Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
long long v[10005];
long long cmmmc(long long a,long long b){
long long r=0,ca=a,cb=b;
while(b){
r=a%b;
a=b;
b=r;}
return ca*cb/a;}
long long cmmdc(long long a,long long b){
long long r=0;
while(b){
r=a%b;
a=b;
b=r;}
return a;}
int main(){
freopen("oz.in","r",stdin);
freopen("oz.out","w",stdout);
long long n,m,x,y,d,i;
scanf("%lld%lld",&n,&m);
for(i=1;i<=n;i++)
v[i]=1;
for(i=1;i<=m;i++){
scanf("%lld%lld%lld",&x,&y,&d);
v[x]=cmmmc(v[x],d);
v[y]=cmmmc(v[y],d);}
fclose(stdin);
freopen("oz.in","r",stdin);
scanf("%lld%lld",&n,&m);
for(i=1;i<=m;i++){
scanf("%lld%lld%lld",&x,&y,&d);
if (cmmdc(v[x],v[y])!=d){
printf("-1\n");
return 0;}}
for(i=1;i<=n;i++)
printf("%lld ",v[i]);
return 0;}