【PAT】B1055 集体照(25 分)
很简单的two points问题
注意:K是行数
#include<stdio.h>
#include<string.h>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
struct people{
char name[10];
int height;
}arr[10005];
bool cmp(people A,people B){
if(A.height!=B.height) return A.height<B.height;
else return strcmp(A.name,B.name)>0;
}
int main(){
int N,K;scanf("%d %d",&N,&K);
for(int i=0;i<N;i++){//输入
getchar();//吸收上一行的换行符
scanf("%s %d",arr[i].name,&arr[i].height);
}
sort(arr,arr+N,cmp);//排序
//让储存从下标1开始
people data[N/K*3];
int flag=N-1;
for(int i=K;i>=1;i--){//K排
int left=1,right=N/K;
if(i==K) right=N/K+N%K;
int mid=right/2+1;
int l=mid-1,r=mid+1;
data[mid]=arr[flag--];
while(l>=left||r<=right){
if(l>=left){
data[l--]=arr[flag--];
}
if(r<=right){
data[r++]=arr[flag--];
}
}
for(int j=1;j<=right;j++){
if(j!=1) printf(" ");
printf("%s",data[j].name);
if(j==right&&i!=1) printf("\n");
}
}
getchar();
return 0;
}
【PAT】B1055 集体照(25 分)的更多相关文章
- PAT (Basic Level) Practice (中文)1055 集体照 (25 分) 凌宸1642
PAT (Basic Level) Practice (中文)1055 集体照 (25 分) 凌宸1642 题目描述: 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每 ...
- PAT 1055 集体照 (25)(STL-list+代码)
1055 集体照 (25)(25 分)提问 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排 ...
- PAT Basic 1055 集体照 (25 分)
拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 /(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排中最高者站中间(中间位 ...
- 7-19 PAT Judge(25 分)
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- PAT A1075 PAT Judge (25 分)——结构体初始化,排序
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- 1095 解码PAT准考证 (25 分)
PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级:A 代表甲级:B 代表乙级: 第 2~4 位是考场编号,范围从 101 到 999: 第 5~10 位是考试日期,格式为年.月. ...
- 10-排序5 PAT Judge (25 分)
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- PAT Basic 1085 PAT单位排行 (25 分)
每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式: 输入第一行给出一个正整数 N(≤),即考生人数.随后 N 行,每行按下列格式给出一个考生的信息: 准 ...
- PAT 1055. 集体照 (25)
拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排中最高者站中间(中间位置为m ...
- 1093 Count PAT's(25 分)
The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...
随机推荐
- 使用FluentMigrator进行数据库迁移
介绍 在开发的过程中,经常会遇到数据库结构变动(表新增.删除,表列新增.修改.删除等).开发环境.测试环境.正式环境都要记性同步:如果你使用EF有自动迁移的功能,还是挺方便的.如果非EF我们需要手工处 ...
- mysql 开发进阶篇系列 27 数据库字符集设置
在安装完数据库后,使用汉字插入到表中,会报错,需要修改字符集类型,如下图所示: -- 插入汉字时报错 INSERT INTO User2 VALUES('张三') -- 查看字符集 SHOW VARI ...
- APUE习题3.2用dup实现dup2以及shell中重定向符号的使用
习题3.2的要求是不使用fcntl()而编写一个同dup2()功能相同的函数.直觉上是不断使用dup()直到返回指定的文件描述符. #include <stdio.h>#include & ...
- centos swap
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...
- [Codeforces 1016F]Road Projects
Description 题库链接 给你一棵 \(n\) 个节点的树,定义 \(1\) 到 \(n\) 的代价是 \(1\) 到 \(n\) 节点间的最短路径的长度.现在给你 \(m\) 组询问,让你添 ...
- 菜鸟入门【ASP.NET Core】2:部署到IIS
配置IIS模块 ASP.NET Core Module载地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/asp ...
- [android] 手机卫士应用程序更新和签名
弹出升级对话框 获取AlertDialog.Builder对象,通过new出来 调用Builder对象的setTitle()方法,参数:文本 调用Builder对象的setMessage()方法,参数 ...
- Java中&0xFF是什么意思?计算机的原码、补码和反码
https://blog.csdn.net/xmc281141947/article/details/74740061
- JSONP和HttpClient的区别
JSONP的特点: 1>JSONP可以解决主流浏览器的跨域问题 2>需要通过三步实现跨域/javascript-src开放策略/回调函数/数据封装 3>JSONPqingqiu是游浏 ...
- Cylinder Candy(积分)
Cylinder Candy Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Edward the confectioner is ...