洛谷:象棋比赛(P1626,排序)

有N个人要参加国际象棋比赛,该比赛要进行K场对弈。每个人最多参加两场对弈,最少参加零场对弈。每个人都有一个与其他人不相同的等级(用一个正整数来表示)。
在对弈中,等级高的人必须用黑色的棋子,等级低的人必须用白色的棋子。每个人最多只能用一次黑色的棋子和一次白色的棋子。为增加比赛的可观度,观众希望K场对弈中双方的等级差的总和最小。
比如有7个选手,他们的等级分别是30,17,26,41,19,38,18,要进行3场比赛。最好的安排是选手2对选手7,选手7对选手5,选手6对选手4。此时等级差的总和等于(18-17)+(19-18)+(41-38)=5达到最小。
输入格式 第一行两个正整数N,K
接下来有N行,第i行表示第i-1个人等级。
[数据规模]
在90%的数据中,1≤N≤3000;
在100%的数据中,1≤N≤100000;
保证所有输入数据中等级的值小于100000000,1≤K≤N-1。
输出格式 在第一行输出最小的等级差的总和。
输入输出样例
输入
复制
7 3
30
17
26
41
19
38
18
输出
5

#include<bits/stdc+
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试技术是用来验证和评估软件质量的方法和工具。在测试过程中,我们可以使用不同的技术来测试软件的各个方面,包括功能、性能、安全性等。下面是一些常见的软件测试技术: 1. 黑盒测试:黑盒测试是一种基于需求和功能规格的测试方法,测试人员只关注输入和输出,而不考虑内部实现细节。对于象棋测试代码,黑盒测试可以通过输入不同的棋局和移动来验证代码是否按照规则正确运行,并且输出的结果是否符合预期。 2. 白盒测试:白盒测试是一种基于代码结构和内部逻辑的测试方法,测试人员可以查看代码并设计测试用例来覆盖不同的代码路径。对于象棋测试代码,白盒测试可以通过检查代码中的条件判断、循环和边界情况等来验证代码的正确性。 3. 单元测试:单元测试是对软件中最小可测试单元(如函数或方法)进行测试的方法。对于象棋测试代码,可以编写单元测试来验证每个函数或方法是否按照预期工作。 4. 集成测试:集成测试是将多个模块或组件组合在一起进行测试的方法。对于象棋测试代码,可以进行集成测试来验证不同模块之间的交互是否正确。 5. 性能测试:性能测试是测试软件在不同负载条件下的性能表现,包括响应时间、吞吐量和资源利用率等。对于象棋测试代码,可以进行性能测试来评估代码在处理大规模棋局时的性能表现。 6. 安全测试:安全测试是测试软件的安全性和防护能力的方法。对于象棋测试代码,可以进行安全测试来验证代码是否存在潜在的安全漏洞,如输入验证不足或代码注入等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值