PAT乙级1055 集体照 (25 分)
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1055 集体照 (25 分)相关的知识,希望对你有一定的参考价值。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct student
{
string name;
int a;
}S[10005];
int n,k;
int cnt[10005];
bool cmp(student a,student b)
{
if(a.a==b.a) return a.name<b.name;
return a.a>b.a;
}
int main(void)
{
cin>>n>>k;
for(int i=0;i<n;i++) cin>>S[i].name>>S[i].a;
for(int i=0;i<k;i++) cnt[i]=n/k;
cnt[k-1]+=n%k;
sort(S,S+n,cmp);
int index=0;
for(int i=k-1;i>=0;i--)
{
string temp=S[index++].name;
int flag=0;
for(int j=2;j<=cnt[i];j++)
{
if(!flag) temp=S[index++].name+" "+temp,flag=1;
else temp=temp+" "+S[index++].name,flag=0;
}
cout<<temp<<endl;
}
return 0;
}
以上是关于PAT乙级1055 集体照 (25 分)的主要内容,如果未能解决你的问题,请参考以下文章