1109 Group Photo

#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

int n,k;

struct node{

string name;

int height;

};

bool cmp(struct node a,struct node b){

return a.height!=b.height?a.height>b.height:a.name<b.name;

}

int main(){

cin>>n>>k;

int m;

vector<node>stu(n);

for(int i=0;i<n;i++){

cin>>stui.name;

cin>>stui.height;

}

sort(stu.begin(),stu.end(),cmp);

int t=0,row=k;//t是已处理的学生索引

//计算每行人数

while(row){

if(row==k){

m=n-n/k*(k-1);

}else{

m=n/k;

}

vector<string>ans(m);

ansm/2=stut.name;

//左边一列

int j=m/2-1;

for(int i=t+1;i<t+m;i=i+2){

ansj--=stui.name;

}

//右边一列

j=m/2+1;

for(int i=t+2;i<t+m;i=i+2){

ansj++=stui.name;

}

cout<<ans0;

for(int i=1;i<m;i++){

cout<<" "<<ansi;

}

cout<<endl;

t=t+m;//移动到下一批学生

row--;

}

return 0;

}

相关推荐
2401_8724187810 小时前
算法入门:并查集(Disjoint Set / Union-Find):连通性问题的利器
算法
luj_176810 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法
程序大视界11 小时前
【C++ 从基础到项目实战】C++(二):数组、字符串与结构体——组织数据的容器
开发语言·c++·cpp
计算机安禾11 小时前
【算法分析与设计】第36篇:计算几何基础:凸包问题的分治与扫描线解法
大数据·人工智能·算法·机器学习·剪枝
叶子野格11 小时前
《C语言学习:文件操作》16
c语言·开发语言·c++·学习·visual studio
货拉拉技术11 小时前
飞速发展的计算机视觉
人工智能·算法
如竟没有火炬11 小时前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
noipp11 小时前
推荐题目:洛谷 P1115 最大子段和
算法
Lumbrologist11 小时前
【C++】零基础入门 · 第 17 节:多线程编程基础
java·c++·算法
A_humble_scholar12 小时前
C++11 学习笔记:统一初始化、右值引用与完美转发
c++·笔记·学习