QMQ 老实大表ing
查看原帖
QMQ 老实大表ing
1268457
20090818Cc楼主2024/12/15 16:43
#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int M=1e2+110;
int read(){
	int sum=0,k=1;
	char c=getchar();
	while(c>'9'||c<'0'){
		if(c=='-') k=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		sum=sum*10+c-'0';
		c=getchar();
	}return sum*k;
}
struct w{
	int val;
	string s;
}ans[M];
bool cmp(w a,w b){
	if(a.val==b.val) return a.s<b.s;
	return a.val>b.val;
}
signed main(){
	int a=read(),b=read(),c=read(),d=read(),e=read();
	ans[1].val=a+b+c+d+e,ans[1].s="ABCDE";
	ans[2].val=a+b+c+d,ans[2].s="ABCD";
	ans[3].val=a+b+c+e,ans[3].s="ABCE";
	ans[4].val=a+b+d+e,ans[4].s="ABDE";
	ans[5].val=a+c+d+e,ans[5].s="ACDE";
	ans[6].val=b+c+d+e,ans[6].s="BCDE";
	ans[7].val=c+d+e,ans[7].s="CDE";
	ans[8].val=b+d+e,ans[8].s="BDE";
	ans[9].val=b+c+e,ans[9].s="BCE";
	ans[10].val=b+c+d,ans[10].s="BCD";
	ans[11].val=a+d+e,ans[11].s="ADE";
	ans[12].val=a+c+e,ans[12].s="ACE";
	ans[13].val=a+c+d,ans[13].s="ACD";
	ans[14].val=a+b+e,ans[14].s="ABE";
	ans[15].val=a+b+d,ans[15].s="ABD";
	ans[16].val=a+b+c,ans[16].s="ABC";
	ans[17].val=a+b,ans[17].s="AB";
	ans[18].val=a+c,ans[18].s="AC";
	ans[19].val=a+d,ans[19].s="AD";
	ans[20].val=a+e,ans[20].s="AE";
	ans[21].val=b+c,ans[21].s="BC";
	ans[22].val=b+d,ans[22].s="BD";
	ans[23].val=b+e,ans[23].s="BE";
	ans[24].val=c+d,ans[24].s="CD";
	ans[25].val=c+e,ans[25].s="CE";
	ans[26].val=d+e,ans[26].s="DE";
	ans[27].val=a,ans[27].s="A";
	ans[28].val=b,ans[28].s="B";
	ans[29].val=c,ans[29].s="C";
	ans[30].val=d,ans[30].s="D";
	ans[31].val=e,ans[31].s="E";
	sort(ans+1,ans+1+31,cmp);
	for(int i=1;i<=31;i++) cout<<ans[i].s<<endl;
	return 0;
}
2024/12/15 16:43
加载中...