1055 集体照 (25 分)

minute_5

关注

阅读 82

2022-01-31

#include<iostream>
#include<algorithm>
using namespace std;
struct stu{
	string name;
	int h;
}s[10000];
int cmp(stu a,stu b){
	return a.h!=b.h?a.h>b.h:a.name<b.name;
}
int outp(int a,int b){
	for(int i=b-((b-a+1)%2);i>a;i-=2)cout<<s[i].name<<' ';
	cout<<s[a].name;
	for(int i=a+2;i<=b;i+=2)cout<<' '<<s[i].name;
}
int main(){
	int n,k;
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>s[i].name>>s[i].h;
	}
	sort(s,s+n,cmp);
	for(int i=0;i<k;i++){
		if(i==0)outp(n/k*i,n/k*(i+1)+n%k-1);
		else outp(n/k*i+n%k,n/k*(i+1)+n%k-1);
		cout<<endl;
	}
    return 0;
}

 

精彩评论(0)

0 0 举报