上海计算机学会2022年10月月赛C++乙组T3田忌赛马

程序展示了如何使用贪心算法对马的速度进行排序,并根据比赛规则制定策略。输出的是田忌得分减去齐王得分的最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

田忌赛马

内存限制: 256 Mb时间限制: 1000 ms

题目描述

田忌和齐王各有 n 匹马,田忌的马速度分别为 a1,a2,…,an​,而齐王的马速度分别为 b1,b2,…,bn​。

田忌与齐王比赛 n 轮,双方每轮挑出一匹新马,若田忌的马更快,田忌加一分,若齐王的马更快,齐王加一分,若双方速度一样,分数不变。

齐王永远按照固定的顺序选择马匹参赛,田忌应该采取什么策略才能让自己的得分减齐王的得分变得最大?

输入格式

第一行:单个整数 n
第二行:n 个整数 a1,a2,…,an​
第三行:n 个整数 b1,b2,…,bn​

输出格式

单个整数:表示田忌得分减齐王得分的最大值

数据范围
  • 对于 30% 的数据,n≤20
  • 对于 60% 的数据,n≤2000
  • 对于 100% 的数据,n≤200,000
  • 1≤ai​,bi​≤1,000,000
样例数据

输入:
3
10 20 30
15 25 35
输出:

 解析:贪心算法

我们先对田忌的马和齐王的马进行排序,
然后我们来考虑以下几种情况:

1.当田忌最慢的马比齐王最慢的马快,赢一场。因为始终要赢齐王最慢的马,不如用最没用的马来赢它。
2.当田忌最慢的马比齐王最慢的马慢,和齐王最快的马比,输一场。因为田忌最慢的马始终要输的,不如用它来消耗齐王最有用的马。
3.当田忌最慢的和齐王最慢的马慢相等时,分4,5,6讨论。
4.当田忌最快的马比齐王最快的马快时,赢一场先。因为最快的马的用途就是来赢别人快的马,别人慢的马什么马都

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长春高老师信奥工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值