专栏文章

AT_abc384_c [ABC384C] Perfect Standings 题解

AT_abc384_c题解参与者 7已保存评论 6

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
6 条
当前快照
1 份
快照标识符
@miqs5v0r
此快照首次捕获于
2025/12/04 09:51
3 个月前
此快照最后确认于
2025/12/04 09:51
3 个月前
查看原文
把每个人的名字和做对的题放在结构体里,求出所有人的分数后,排个序即可。
CPP
#include<bits/stdc++.h>
using namespace std;
int a,b,c,d,e;
struct node{
	string s;
	int score;
}st[105];
bool cmp(node a,node b){
	if(a.score!=b.score)
		return a.score>b.score;
	return a.s<b.s;
}
int main(){
	cin>>a>>b>>c>>d>>e;
	st[1].s="ABCDE";
	st[2].s="BCDE";
	st[3].s="ACDE";
	st[4].s="ABDE";
	st[5].s="ABCE";
	st[6].s="ABCD";
	st[7].s="CDE";
	st[8].s="BDE";
	st[9].s="ADE";
	st[10].s="BCE";
	st[11].s="ACE";
	st[12].s="BCD";
	st[13].s="ABE";
	st[14].s="ACD";
	st[15].s="ABD";
	st[16].s="ABC";
	st[17].s="DE";
	st[18].s="CE";
	st[19].s="BE";
	st[20].s="CD";
	st[21].s="AE";
	st[22].s="BD";
	st[23].s="AD";
	st[24].s="BC";
	st[25].s="AC";
	st[26].s="AB";
	st[27].s="E";
	st[28].s="D";
	st[29].s="C";
	st[30].s="B";
	st[31].s="A";
	st[1].score=a+b+c+d+e;
	st[2].score=b+c+d+e;
	st[3].score=a+c+d+e;
	st[4].score=a+b+d+e;
	st[5].score=a+b+c+e;
	st[6].score=a+b+c+d;
	st[7].score=c+d+e;
	st[8].score=b+d+e;
	st[9].score=a+d+e;
	st[10].score=b+c+e;
	st[11].score=a+c+e;
	st[12].score=b+c+d;
	st[13].score=a+b+e;
	st[14].score=a+c+d;
	st[15].score=a+b+d;
	st[16].score=a+b+c;
	st[17].score=d+e;
	st[18].score=c+e;
	st[19].score=b+e;
	st[20].score=c+d;
	st[21].score=a+e;
	st[22].score=b+d;
	st[23].score=a+d;
	st[24].score=b+c;
	st[25].score=a+c;
	st[26].score=a+b;
	st[27].score=e;
	st[28].score=d;
	st[29].score=c;
	st[30].score=b;
	st[31].score=a;
	sort(st+1,st+32,cmp);
	for(int i=1;i<=31;i++)
		cout<<st[i].s<<"\n";
}

评论

6 条评论,欢迎与作者交流。

正在加载评论...