3星思维题-学姐肝手游

学姐肝手游

https://ac.nowcoder.com/acm/problem/14410

写一个函数方便判断攻击卡类型

运用STL的全排列函数对每一种可能的前三项进行最大值判断

#include <algorithm>

using namespace std;

double op(string s) {
	if (s[0]=='A') return 1.0;
	else if (s[0]=='B') return 1.5;
	else return 0.8;
}

string a[5],b;
double sum,maxx;

int main()
{
	cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];
	sort(a,a+5);
	do {
		sum=0; 
		if (a[0][1]==a[1][1]&&a[0][1]==a[2][1]) {
			if (a[0][0]=='B') {
				sum=(op(a[0])*1.5+op(a[1])*1.2*1.5+op(a[2])*1.4*1.5)*(2.0*1.5);
			} else {
				sum=(op(a[0])+op(a[1])*1.2+op(a[2])*1.4)*2.0;
			}
		} else {
			if (a[0][0]=='B') {
				sum=op(a[0])*1.5+op(a[1])*1.2*1.5+op(a[2])*1.4*1.5;
			} else {
				sum=op(a[0])+op(a[1])*1.2+op(a[2])*1.4;
			}
		}
		if (sum>maxx) {
			maxx=sum;
			b=a[0]+' '+a[1]+' '+a[2];
		}
	} while (next_permutation(a,a+5));
	
	cout << b << endl;
	
	return 0;
}
全部评论

相关推荐

大叔叔1:你把自己说的话打码,所以你想表达什么
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务