C++学习之路 | PTA乙级—— 1055 集体照 (25 分)(精简)

1055 集体照 (25 分)
拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下:
每排人数为 N/K(向下取整),多出来的人全部站在最后一排;
后排所有人的个子都不比前排任何人矮;
每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整);
每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、190、186、170。这里假设你面对拍照者,所以你的左边是中间人的右边);
若多人身高相同,则按名字的字典序升序排列。这里保证无重名。
现给定一组拍照人,请编写程序输出他们的队形。
输入格式:

每个输入包含 1 个测试用例。每个测试用例第 1 行给出两个正整数 N(≤10
​4
​​ ,总人数)和 K(≤10,总排数)。随后 N 行,每行给出一个人的名字(不包含空格、长度不超过 8 个英文字母)和身高([30, 300] 区间内的整数)。
输出格式:

输出拍照的队形。即K排人名,其间以空格分隔,行末不得有多余空格。注意:假设你面对拍照者,后排的人输出在上方,前排输出在下方。
输入样例:

10 3
Tom 188
Mike 170
Eva 168
Tim 160
Joe 190
Ann 168
Bob 175
Nick 186
Amy 160
John 159
输出样例:

Bob Tom Joe Nick
Ann Mike Eva
Tim Amy John

#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
using namespace std;
bool cmp(pair<string, int>p, pair<string, int>q)
{if (p.second != q.second)return p.second > q.second;else return p.first < q.first;
}
int main()
{int n, h;string str;int a;cin >> n >> h;pair<string, int>p;vector<pair<string, int>>v;vector<string>v_new;for (int i = 0; i < n; i++){cin >> str >> a;p.first = str;p.second = a;v.push_back(p);}sort(v.begin(), v.end(),cmp);int h_new = v.size() / h;int last = v.size() % h + h_new;for (int j = 0; j < last; j++){if (j % 2 == 0){v_new.push_back(v[j].first);}else{v_new.insert(v_new.begin(), 1, v[j].first);}}for (int i = 0; i < last; i++){if (i == 0)cout << v_new[i];elsecout << " "<< v_new[i] ;}v_new.clear();cout << endl;for(int i=last;i<v.size();i+=h_new){int a = 0;for (int j = i; j < i+h_new; j++){if (a % 2 == 0){v_new.push_back(v[j].first);a++;}else{v_new.insert(v_new.begin(), 1, v[j].first);a++;}}for (int i = 0; i < h_new; i++){if (i == 0)cout << v_new[i];elsecout << " " << v_new[i];}cout << endl;v_new.clear();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI可以在游戏里称霸,但是解决现实问题太难了

来源&#xff1a;36氪据《大西洋月刊》报道&#xff0c;直到最近&#xff0c;那些能在各类游戏中击败人类冠军的机器&#xff0c;解决现实问题太难了。1997年&#xff0c;为了在国际象棋中击败象棋大师加里卡斯帕罗夫&#xff08;Garry Kasparov&#xff09;&#xff0c;IBM的工…

C++常用字符串分割方法

From&#xff1a;http://www.jb51.net/article/55954.htm 1. 用strtok函数进行字符串分割 原型&#xff1a; char *strtok(char *str, const char *delim); 功能&#xff1a; 分解字符串为一组字符串。 参数说明&#xff1a;str为要分解的字符串&#xff0c;delim为…

C# 根据中文得到全拼

C#源码下载转载于:https://www.cnblogs.com/goldnet/archive/2008/04/25/1170420.html

软件系统架构~软件架构概念

1、系统的架构定义了它的静态结构、动态结构、外部可见行为、质量属性以及应该引导其设计和发展的原则&#xff1b; 2、系统的候选架构是有可能展现出系统所需要的外部可见行为和质量属性的架构。选择最佳方案则是架构师的职责所在&#xff1b; 3、架构元素时系统的组成部分&…

C++学习之路 | PTA乙级—— 1056 组合数的和 (15 分)(精简)

1056 组合数的和 (15 分) 给定 N 个非 0 的个位数字&#xff0c;用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8&#xff0c;则可以组合出&#xff1a;25、28、52、58、82、85&#xff0c;它们的和为330。 输入格式…

大话设计模式-策略模式与简单工厂模式

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6712684 策略模式定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 例如&#xff1a; CashNormal、CashRebate…

任务太多?学着突破重围

任务太多&#xff1f;学着突破重围 周银辉不知算是我的一个缺点&#xff0c;还是大都这样&#xff1a;如果有10个任务一次性地推给我&#xff0c;我完成任务的效率会明显低于一个一个地指派任务。这里的任务&#xff0c;是…

全球知识图谱专家分布、研究流派(附学者名单)

来源&#xff1a; THU数据派概要&#xff1a;在维基百科的官方词条中&#xff1a;知识图谱是Google用于增强其搜索引擎功能的知识库。什么是知识图谱&#xff1f;在维基百科的官方词条中&#xff1a;知识图谱是Google用于增强其搜索引擎功能的知识库。本质上, 知识图谱旨在描述…

软件系统架构~思维导图

#原图 System.out.println("https://www.processon.com/view/link/6194f2740e3e7409b9c2f3df")

C++学习之路 | PTA乙级—— 1057 数零壹 (20 分)(精简)

1057 数零壹 (20 分) 给定一串长度不超过 10 ​5 ​​ 的字符串&#xff0c;本题要求你将其中所有英文字母的序号&#xff08;字母 a-z 对应序号 1-26&#xff0c;不分大小写&#xff09;相加&#xff0c;得到整数 N&#xff0c;然后再分析一下 N 的二进制表示中有多少 0、多少…

创建型、结构型、行为型模式(1)

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6753363 目的 创建型模式 Creational Pattern 结构型模式 Structural Patterns 行为型模式 Behavioral Pattern 概念 创建型模式&#xff0c;就是创建对象的模式&#xff0c;抽象了实例化的过程。…

干货|全球人工智能专利分布战情图

来源&#xff1a; 点滴科技资讯作者&#xff1a;许倩未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&am…

Finding Gems

N大就是厚道&#xff01;紧接着上一部&#xff0c;GPU Gems 2即将免费开放~http://news.developer.nvidia.com/2008/05/gpu-gems-2---on.html转载于:https://www.cnblogs.com/eygneph/archive/2008/05/13/1194635.html

tomcat高版本之URL解析异常解决

IllegalArgumentException 一、项目场景&#xff1a; 例如&#xff1a;由于Apache的tomcat的版本升级&#xff0c;遵循RFC 7230 and RFC 3986规范解析请求地址。同时添加了对于http头的验证请求。 导致报文存在导致特殊字符&#xff08;不在解析范围内的&#xff09;tomcat7…

C++学习之路 | PTA乙级—— 1058 选择题 (20 分)(精简)

1058 选择题 (20 分) 批改多选题是比较麻烦的事情&#xff0c;本题就请你写个程序帮助老师批改多选题&#xff0c;并且指出哪道题错的人最多。 输入格式&#xff1a; 输入在第一行给出两个正整数 N&#xff08;≤ 1000&#xff09;和 M&#xff08;≤ 100&#xff09;&#xf…

创建型、结构型、行为型模式(2)

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6757111 创建型模式 Singleton模式解决的是实体对象个数的问题。 除了Singleton之外&#xff0c;其他创建型模式解决的都是New所带来的耦合关系。 Factory Method&#xff0c;Abstract Factory&#xff0c;B…

大数据行业洞察:未来2-3年或迎数据时代的真正高潮

来源&#xff1a; DT数据侠 作者&#xff1a;中关村老李从2012年的“用户标签”到2014年的“用户画像”&#xff0c;从2015年的“大数据”到2017年的“人工智能”&#xff0c;大数据正在从神坛走向现实。“标签”到“画像”&#xff0c;代表着数据在数量和维度上&#xff0c;逐…

host头攻击漏洞

一个服务器上跑多个程序是非常常见的现象。 但是这样做后会有一个问题&#xff0c;那就是容易造成 Host 头攻击。host 头(host header或称主机头)攻击&#xff0c;非常常见。比如&#xff0c;在 jsp 中&#xff0c;我们通常可能存在类似下面的代码。 <script type"te…

地震

昨天下午2点半多&#xff0c;在家里刚开电脑&#xff0c;突然感到椅子左右轻微晃动&#xff0c;当时想是不是椅子坏了&#xff0c;后来又听到楼上有声音&#xff0c;想是不是整修楼面搞的。随着震动逐渐加大&#xff0c;意识到是地震&#xff0c;赶快喊妈妈姥姥躲卫生间&#x…

C++学习之路 | PTA乙级—— 1059 C语言竞赛 (20 分)(精简)

1059 C语言竞赛 (20 分) C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩&#xff0c;颁奖规则也就制定得很滑稽&#xff1a; 0、冠军将赢得一份“神秘大奖”&#xff08;比如很巨大的一本学生研究论文集……&#xff09;。 1、排名为素数的学生将…