象棋比赛问题(排序/C++)
象棋比赛Chess
【问题描述】有N个人要参加国际象棋比赛,该比赛要进行K场对弈。每个人最多参加两场对弈,最少参加零场对弈。每个人都有一个与他人都不相同的等级(用一个正整数来表示)。
在对弈中,等级高的人必须用黑色的棋子,等级低的人必须用白色的棋子。 每个人最多只能用一次黑色的棋子和一次白色的棋子。
为了增加比赛的客观度,观众希望K场对弈中双方等级差的总和最小。比如有7个选手,他们的等级分别是30,17,26,41,19,38,18,要进行3场比赛,最好的安排是 2 vs 7, 7 vs 5,6 vs 4,此时等级差的总和为(18-17)+(19-18)+(41-38)=5 达到最小。
【输入格式】
第一行两个整数N、K。接下来N行,第i行表示第i-1个人等级。
【输出格式】
最小等级差的总和
【输入样例】
7 3
30
17
26
41
19
38
18
【输出样例】
5
【数据范围】
90% N<=3000
100% N<=100000
所有等级值<110 1<=K<=N-1
此题唯一的价值就是做两次排序,对于C++来说,简直没任何价值。代码如下
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;int lev[100001];
int cha[100000];int main()
{int n,k;cin >> n;cin >> k;int i;for(i=1;i<=n;i++){cin >> lev[i];}sort(lev+1,lev+n+1);for(i=1;i<n;i++){cha[i]=lev[i+1]-lev[i];}sort(cha+1,cha+n);int ans=0;for(i=1;i<=k;i++){ans+=cha[i];}cout << ans << endl;return 0;
}
象棋比赛问题(排序/C++)相关推荐
- 单片机学习笔记————51单片机实现带数码管显示的象棋比赛专用计时器
一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...
- python基础编程小实例12——比赛票数排序(初级)
编程语言:python3.9 题目 比赛采用计票机制,选手获得的票数越多,排名就越靠前. 本实例要求编写程序,接收选手的姓名和票数,输出排序后的成绩. 本题基于还没有学到如何使用python打开文件的 ...
- 排序算法——(1)简介
随着人口城镇化的进程,城市人口的慢慢增加,对于一些生活在一二线城市的同学来说,排队已然成为生活中的基操:上公交排队.打车排队.坐地铁排队.点餐排队.喝奶茶排队.办证排队.下课ATM取钱排队--说到排队 ...
- 多少秒算长镜头_下中国象棋,能算多少步才算高手?
下象棋,你能算多少步?这是一个让初学者很困扰,也很感兴趣的话题. 很多象棋爱好者说:我最多看2步,我觉得能看5步以上的,就是超级高手高手高高手了. 但一代象棋宗师.14届全国冠军胡荣华的看法则颇有&q ...
- 自写sort排序函数(支持重载排序规则)
最近有点浮躁,无心练题,便捣鼓了一阵子的C++.接触了一点点的重载和模板后,心血来潮想写一点牛逼点的东西.因为平时打编程比赛要排序的地方都是直接用的C++中自带的sort排序函数,就想自己也写一个 ...
- 象棋世家 v6.0a 官方
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
- AI画作拿下比赛一等奖惹怒人类艺术家,主办方:照常颁奖
羿阁 发自 凹非寺 量子位 | 公众号 QbitAI AI生成的画作,已经能在艺术比赛拿大奖了??? 没错,这是真事. 一位小哥用AI绘画工具Midjourney生成的作品,在美国科罗拉多州博览会的艺 ...
- 计算机6种文件格式,中国象棋电脑PGN文件格式
在中国,已有几千年历史.充满东方智慧的象棋在中国的群众基础远远超过围棋,一直是普及最广的棋类项目.下面学习啦小编给你介绍中国象棋电脑PGN文件格式,欢迎阅读. 中国象棋电脑PGN文件格式一.概述 PG ...
- 中国计算机大师级别的人物,特级大师大多已退隐江湖,看谁能继承衣钵,成为新一代的象棋霸主...
特级大师大多已退出江湖,看谁能继承衣钵,成为新一代的象棋霸主 老牌象棋特级大师的徒弟谁能当此重任,诸位可以投票选出:(投票见文尾) (此处已添加圈子卡片,请到今日头条客户端查看) 1.谢靖,胡司令高足 ...
最新文章
- 深度聚类的可视化解释
- c语言不允许对数组的大小做动态定义,数组,C语言程序设计课件,与中南大学出版社教材相配套.ppt...
- [灵魂拷问]MySQL面试高频100问(工程师方向)
- 设置ViewPager 自动滑动时间,速度 方便展示动画
- Typecho 新浪登陆插件 Sinauth
- 利用Aspose.Word控件实现Word文档的操作
- python 会计凭证_实际工作中,大多数单位都使用单式记账凭证。()
- 面向对象 —— 静态成员(变量与方法)
- 漫威超级英雄大全(二)
- 商业的本质 + 社交电商思考
- Ansible中的jinjia2模板
- 电子设计教程30:温度滞回控制系统
- Lombok使用@Data的大坑,空指针错误
- Geogebra键盘输入快捷键
- Android 开发中的SSL pinning
- 适合初学者练手的vue小商城项目(附github源码)
- 以太坊Parity节点搭建
- VLAN 网络骨干建设
- 龙芯OpenHarmony课程 【3】GPIO操作 点亮LED
- am命令基本知识详解