PAT乙级 1055. 集体照 (25)
来源:互联网 发布:3d大型网络手机游戏 编辑:程序博客网 时间:2024/06/03 01:42
//PAT-1-1057
//思路:按要求一行一行地排就行了,可以自己多写几种情况,检验下标的正确性#include <iostream>#include <algorithm>#include <string>#include <math.h>#include <sstream>#include <vector>using namespace std;typedef struct{ string name; int height;}info;int comp(info a,info b){ if (a.height!=b.height) { return a.height>b.height; } return a.name<b.name;}int main(){ int n,k; cin>>n>>k; vector<info> s; for (int i=0; i<n; i++) { info temp; cin>>temp.name>>temp.height; s.push_back(temp); } sort(s.begin(), s.end(), comp); int per=n/k; //cout<<per<<endl; int first=per; if (per*k<n) { first++; } int count=0; for (int i=0; i<n;count++ ) { if (i==0) { if (first%2==1) { for (int j=0; j<first/2; j++) { cout<<s[2*(per/2-j)-1].name<<" "; } if (first>1) { cout<<s[0].name<<" "; } else cout<<s[0].name; for (int j=0; j<first/2; j++) { if(j!=first/2-1) cout<<s[2*(j+1)].name<<" "; else cout<<s[2*(j+1)].name; } }else{ for (int j=0; j<first/2; j++) { cout<<s[2*(first/2-j)-1].name<<" "; } for (int j=0; j<first/2; j++) { if (j!=first/2-1) { cout<<s[2*(j)].name<<" "; } else cout<<s[2*(j)].name; } } i+=first; cout<<endl; }else{ if (per%2==1) { for (int j=0; j<per/2; j++) {// cout<<count<<endl; cout<<s[2*(per/2-j)-1+first+(count-1)*per].name<<" "; } if (per>1) { cout<<s[first+(count-1)*per].name<<" "; }else cout<<s[first+(count-1)*per].name; for (int j=0; j<per/2; j++) { if(j!=per/2-1) cout<<s[2*(j+1)+first+(count-1)*per].name<<" "; else cout<<s[2*(j+1)+first+(count-1)*per].name; } }else{ for (int j=0; j<per/2; j++) { cout<<s[2*(per/2-j)-1+first+(count-1)*per].name<<" "; } for (int j=0; j<per/2; j++) { if(j!=per/2-1) cout<<s[2*(j)+first+(count-1)*per].name<<" "; else cout<<s[2*(j)+first+(count-1)*per].name; } } i+=per; cout<<endl; } } return 0;}
阅读全文
0 0
- PAT乙级 1055. 集体照 (25)
- [PAT乙级]1055. 集体照 (25)
- PAT乙级1055. 集体照 (25)
- pat 乙级 1055. 集体照 (25)
- PAT乙级 1055. 集体照 (25)
- PAT乙级1055. 集体照(25)
- [PAT-乙级]1055.集体照
- PAT乙级—1055. 集体照 (25)-native
- 1055. 集体照 (25)-PAT乙级真题
- 1055. 集体照 (25) PAT乙级真题
- PAT乙级1055 集体照
- 1055. 集体照 (25) PAT
- 1055. 集体照 (25)PAT乙级&&1109. Group Photo (25) PAT 甲级
- PAT乙级练习题B1055. 集体照
- C++ - PAT - 1055. 集体照 (25)
- PAT乙级 1055. 集体照 (25) 结构体字符串字典排序,双端队列
- PAT BASIC LEVEL 1055. 集体照 (25)
- PAT-B 1055. 集体照
- [Axure]关于微信实现横纵向拖动效果的一些想法
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 题目1 : Visiting Peking University
- 游戏里的人生-扎克斯
- STL源码解析(2) -- 迭代器iterator与traits
- leetcode--Remove Elements
- PAT乙级 1055. 集体照 (25)
- JXL简单操作xls表格文件--写入文件
- 数据结构 — 迷宫问题
- [git]modified: xxx(modified content, untracked content)
- 利用系统相机拍照,摄像,从系统相册中选择图片
- leetcode--Contain Duplicate
- 句柄是什么
- LeetCode.328 Odd Even Linked List
- 知名互联网公司系统架构图[第2期]