求助站外题
  • 板块灌水区
  • 楼主Future_Present
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/30 10:02
  • 上次更新2024/3/30 12:27:52
查看原帖
求助站外题
1099087
Future_Present楼主2024/3/30 10:02

描述 某个城市的有n个社区,有n-1条道路将n个社区连同,现在需要建立1个医院在某个社区,使得其他社区的人到医院看病的死亡率最小,死亡率计算为: for(int i=1;i<=m-1;i++) sum=sum+ k^i 其中m为社区到医院的最短路径上点的个数

输入 一行两个数n,k 接下来n-1行,每行2个数u,v表示存在一条从u到v的边.

输出 一行一个整数表示死亡率之和最小的点, 若有多个点死亡率之和相同. 输出编号最小的一个.

样例 输入 4 2 1 2 2 3 2 4 输出 2 提示 2号点到1, 3, 4点的路径的死亡率都是2,死亡率总和为 6 1, 3, 4到其它点的路径死亡率之和均为2 + 6 + 6 = 14

对于100%的数据,n ≤ 20000, k ≤ 10

2024/3/30 10:02
加载中...