1 条题解
-
1
解题思路:
DFS
问题分析:
问题分为两部分:
-
若没有候选人弃权,哪个候选人当选。
-
最少几个候选人弃权可以使得编号为 的候选人当选。
第一部分:没有候选人弃权时的当选者
解题思路:
-
初始化票数:为每个候选人初始化票数为 。
-
再遍历每个县:
- 对于每个县,找到排名最靠前的候选人,给该候选人加一票。
-
统计票数:
- 统计所有候选人的票数。
-
确定当选者:找到票数最多的候选人。
Attention:如果有多个候选人票数相同,选择编号较小的那个。
—————————————————————————
第二部分:最少弃权数使得编号为 的候选人当选
解题思路:
-
计算当前票数:首先计算没有弃权时每个候选人的票数。
-
确定需要增加的票数:
- 计算 需要多少额外票数才能超过当前得票最多的候选人。
-
选择弃权的候选人:
- 选择那些在 之前排名的候选人,让它们弃权,从而让 获得更多票数。
-
计算最少弃权数:通过DFS算法,选择最少的弃权数来达到目标。
得解
不放代码
-
信息
- ID
- 8547
- 时间
- 3000ms
- 内存
- 64MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者