【题目描述】

设有一棵二叉树(如图3-8,其中圈中的数字表示结点中居民的人口,圈边上数字表示结点编号。现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻结点之间的距离为1。就本图而言,若医院建在1处,则距离和=4+12+2*20+2*40=136;若医院建在3处,则距离和=4*2+13+20+40=81…

【输入】

第一行一个整数n,表示树的结点数(n≤100)。接下来的n行每行描述了一个结点的状况,包含三个整数,整数之间用空格(一个或多个)分隔,其中:第一个数为居民人口数;第二个数为左链接,为0表示无链接;第三个数为右链接,为0表示无链接。

【输出】

一个整数,表示最小距离和。

【输入样例】

5
13 2 3
4 0 0
12 4 5
20 0 0
40 0 0

【输出样例】

81

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 101
#define MOD 123
#define E 1e-6
using namespace std;
int a[N][N],b[N],sum[N];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i==j)a[i][j]=0;elsea[i][j]=INF;}}for(int i=1;i<=n;i++){int left,right;cin>>b[i]>>left>>right;if(left!=0)a[i][left]=a[left][i]=1;if(right!=0)a[i][right]=a[right][i]=1;}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(a[i][j]>a[i][k]+a[k][j])a[i][j]=a[i][k]+a[k][j];int minn=INF;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)sum[i]+=a[i][j]*b[j];if(sum[i]<minn)minn=sum[i];}cout<<minn<<endl;return 0;
}

医院设置(信息学奥赛一本通-T1338)相关推荐

  1. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. Knight Moves(信息学奥赛一本通-T1450)

    [题目描述] 编写一个程序,计算一个骑士从棋盘上的一个格子到另一个格子所需的最小步数.骑士一步可以移动到的位置由下图给出. [输入] 第一行给出骑士的数量 n. 在接下来的 3n 行中,每 3 行描述 ...

  4. 信息学奥赛一本通1399——甲流病人初筛

    信息学奥赛一本通--甲流病人初筛 1399:甲流病人初筛 http://ybt.ssoier.cn:8088/problem_show.php?pid=1399 题目描述 目前正是甲流盛行时期,为了更 ...

  5. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  6. 信息学奥赛一本通1329:细胞

    题目 信息学奥赛一本通(C++版)在线评测系统 思路 这是一道典型的bfs染色问题,先遍历数组,只要没有标记为1,就开始bfs染色,最后输出color数量 接下来,咱就来把代码拆开来看看: 1. 准备 ...

  7. 信息学奥赛一本通1114:白细胞计数 视频题解

    信息学奥赛一本通1114:白细胞计数 视频题解 1114:白细胞计数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 38224 通过数: 12593 [题目描述] 医院采样了某临 ...

  8. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  9. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

最新文章

  1. 清华「暗黑破坏神」夺超算世界冠军,暨南大学首次参赛就跻身前三 | ISC21
  2. 刚刚,“达摩院2020十大科技趋势”正式发布!
  3. 【Android 应用开发】Paint 滤镜原理 之 图像结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )
  4. weex css单位,Weex系列(7) ——踩坑填坑的总总
  5. 双11怎么那么强!之二:浅析淘宝网络通信库tbnet的实现
  6. Redis面试题答案整理
  7. 究竟什么是Linux内核?我该如何高效学习?​
  8. HIbernate的三种状态
  9. [Java基础]反射获取构造方法并使用
  10. PHP基本语法(实例)
  11. redhat7.3安装yum源 基于外网的http服务
  12. 一个电脑安装多个系统的几个办法
  13. layui button按钮点击导致页面重新刷新的解决方案
  14. TensorFlow入门篇(三):MNIST数据集简易分类
  15. c# uwp html源码,C#UWP使用Microsoft Edge打开Web URL
  16. 异常处理与调试 - 零基础入门学习Delphi50
  17. oracle中cube的作用,Oraclerollup和cube分析
  18. 今日科技联播:饿了么与屈臣氏达成合作;iPhone XR需求旺盛
  19. 第七天 位置参数 变量运算if case || find locate compress
  20. Java 调用 有道翻译API

热门文章

  1. linux内核源码目录分析
  2. S5PV210裸机之SDRAM
  3. 上次那个上门要源代码的女网红,后来咋样了?
  4. 中国工商银行的 Service Mesh 探索与实践
  5. 硬核干货,老曹解密“语音交互”背后的黑科技!
  6. 技术管理者必备管理模板
  7. 漫画:当程序员有了下一代.....
  8. 虚拟机系列 | JVM类加载机制
  9. vue 1.0源代码重点难点分析
  10. Node.js学习准备篇