医院设置(信息学奥赛一本通-T1338)
【题目描述】
设有一棵二叉树(如图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)相关推荐
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- Knight Moves(信息学奥赛一本通-T1450)
[题目描述] 编写一个程序,计算一个骑士从棋盘上的一个格子到另一个格子所需的最小步数.骑士一步可以移动到的位置由下图给出. [输入] 第一行给出骑士的数量 n. 在接下来的 3n 行中,每 3 行描述 ...
- 信息学奥赛一本通1399——甲流病人初筛
信息学奥赛一本通--甲流病人初筛 1399:甲流病人初筛 http://ybt.ssoier.cn:8088/problem_show.php?pid=1399 题目描述 目前正是甲流盛行时期,为了更 ...
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...
- 信息学奥赛一本通1329:细胞
题目 信息学奥赛一本通(C++版)在线评测系统 思路 这是一道典型的bfs染色问题,先遍历数组,只要没有标记为1,就开始bfs染色,最后输出color数量 接下来,咱就来把代码拆开来看看: 1. 准备 ...
- 信息学奥赛一本通1114:白细胞计数 视频题解
信息学奥赛一本通1114:白细胞计数 视频题解 1114:白细胞计数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 38224 通过数: 12593 [题目描述] 医院采样了某临 ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
最新文章
- 清华「暗黑破坏神」夺超算世界冠军,暨南大学首次参赛就跻身前三 | ISC21
- 刚刚,“达摩院2020十大科技趋势”正式发布!
- 【Android 应用开发】Paint 滤镜原理 之 图像结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )
- weex css单位,Weex系列(7) ——踩坑填坑的总总
- 双11怎么那么强!之二:浅析淘宝网络通信库tbnet的实现
- Redis面试题答案整理
- 究竟什么是Linux内核?我该如何高效学习?​
- HIbernate的三种状态
- [Java基础]反射获取构造方法并使用
- PHP基本语法(实例)
- redhat7.3安装yum源 基于外网的http服务
- 一个电脑安装多个系统的几个办法
- layui button按钮点击导致页面重新刷新的解决方案
- TensorFlow入门篇(三):MNIST数据集简易分类
- c# uwp html源码,C#UWP使用Microsoft Edge打开Web URL
- 异常处理与调试 - 零基础入门学习Delphi50
- oracle中cube的作用,Oraclerollup和cube分析
- 今日科技联播:饿了么与屈臣氏达成合作;iPhone XR需求旺盛
- 第七天 位置参数 变量运算if case || find locate compress
- Java 调用 有道翻译API