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 分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1055. 集体照 (25)

1055 集体照 (25 分)

PAT乙级1049 数列的片段和 (20 分)

PAT 1055 集体照

PAT——1055. 集体照

PAT乙级 1020. 月饼 (25)(只得到23分)