PAT考试乙级1055(C++语言实现) (重点题目)(思路)
来源:互联网 发布:网络借贷暂行办法全文 编辑:程序博客网 时间:2024/06/05 15:01
#include<iostream>#include<cstring>#include<algorithm>using namespace std;struct Student{ char name[10]; int height;};bool cmp(struct Student s1,struct Student s2){ if(s1.height!=s2.height){ //身高不相同,身高矮的在前 return s1.height<s2.height; } else return strcmp(s1.name,s2.name)>0;//身高相同,比较名字,字典序大的在前}void output(Student s[],int begin,int end){ Student temp[end-begin+2];//注意此处数组的大小 int m=(end-begin)/2+1; int count_left=0; //左边到了第几个 int count_right=0; //右边到了第几个 bool should_right=false;//是否该右边了 for(int i=end;i>=begin;i--){ if(i==end) temp[m]=s[i];//先把最大值放在中间 else{ if(should_right){ count_right++; temp[m+count_right]=s[i]; should_right=false; } else{ count_left--; temp[m+count_left]=s[i]; should_right=true; } } } for(int i=m+count_left;i<=m+count_right;i++){ if(i!=(m+count_left)) cout<<" "; cout<<temp[i].name; } cout<<endl;}int main(){ int N,K,i,j,last; Student s[10001]; cin>>N>>K; for(i=1;i<=N;i++){ cin>>s[i].name>>s[i].height; } sort(s+1,s+N+1,cmp); last=(K-1)*(N/K)+1; output(s,last,N); for(i=last-N/K;i>=1;i=i-N/K){ output(s,i,i+N/K-1); } return 0;}
代码参考:
http://blog.csdn.net/wanmeiwushang/article/details/51591972
阅读全文
0 0
- PAT考试乙级1050(C语言实现) (重点题目)(memset以及思路)
- PAT考试乙级1054(C语言实现) (重点题目)(思路)
- PAT考试乙级1045(C语言实现)重点题目(思路)
- PAT考试乙级1048(C语言实现)重点题目(思路、用到了memset)
- PAT考试乙级1055(C++语言实现) (重点题目)(思路)
- PAT考试乙级1050(C语言实现) (重点题目)(关于保留小数的坑)
- PAT考试乙级1033(C语言实现)重点题目 部分正确(已解决)
- PAT考试乙级1035(C语言实现)重点题目(排序)
- PAT考试乙级1015(C语言实现) 重点题目
- PAT考试乙级1019(C语言实现) 重点题目
- PAT考试乙级1024(C语言实现)重点题目
- PAT考试乙级1028(C语言实现)重点题目
- PAT考试乙级1030(C语言实现)重点题目
- PAT考试乙级1031(C语言实现)重点题目
- PAT考试乙级1034(C语言实现)重点题目
- PAT考试乙级1050(C语言实现) (重点题目)(按格式读取,使用容器vector)
- PAT考试乙级1001(C语言实现)
- PAT考试乙级1002(C语言实现)
- 改变进程的优先级
- Firewalld
- "Convolution" Calculation Method
- Java数据结构和算法(一)--前言
- 文章标题
- PAT考试乙级1055(C++语言实现) (重点题目)(思路)
- 17年12月份感想
- WIN10安装Mysql报错
- 使用Spring实现读写分离( MySQL实现主从复制)
- 欢迎使用CSDN-markdown编辑器
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(八)渲染一个列表出来
- Unity3d 自动寻路(自带)
- webrtc中的网络反馈与控制
- HDOJ 2548 两军交锋