您当前的位置: 首页 >  蓝桥杯

不牌不改

暂无认证

  • 2浏览

    0关注

    422博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[蓝桥杯][算法提高VIP]分数统计

不牌不改 发布时间:2021-07-28 00:33:59 ,浏览量:2

题目

题目链接

题解

五个数组分别记录五个阶段的成绩,数组模拟vector,在记录的同时更新最大人数。 输入结束,记录也结束;判断哪个阶段的人数等于记录的最大人数,就对哪个阶段的成绩进行排序。 因为是升序,所以手写个cmp函数。

我甜蜜的看错数据规模了,卡了巨久。

代码
// 太优美了!
#include
using namespace std;
const int N = 1010;

int n, g, mx, cntA, cntB, cntC, cntD, cntE;
int gA[N], gB[N], gC[N], gD[N], gE[N];

bool cmp(int x, int y) { return x>y; }

int main()
{
	cin>>n;
	for(int i = 1;i >g;
		if(g>=90)      gA[++cntA] = g, mx = max(mx, cntA);
		else if(g>=80) gB[++cntB] = g, mx = max(mx, cntB);
		else if(g>=70) gC[++cntC] = g, mx = max(mx, cntC);
		else if(g>=60) gD[++cntD] = g, mx = max(mx, cntD);
		else           gE[++cntE] = g, mx = max(mx, cntE);
	} 
	printf("%d %d %d %d %d\n%d\n", cntA, cntB, cntC, cntD, cntE, mx);
	if(cntA == mx)      { sort(gA+1, gA+mx+1, cmp); for(int i = 1;i             
关注
打赏
1662186765
查看更多评论
0.0390s