组队

问题描述
作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。
每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?
在这里插入图片描述
(如果你把以上文字复制到文本文件中,请务必检查复制的内容是否与文 档中的一致。在试题目录下有一个文件 team.txt,内容与上面表格中的相同, 请注意第一列是编号)

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

思路:暴力枚举,别选择同一个人

代码:

#include<iostream>
using namespace std;
int main()
{
	int score[20][5] = { {97,90,0,0,0},{92,85,96,0,0},{0,0,0,0,93},{0,0,0,80,86},{89,83,97,0,0},
						{82,86,0,0,0},{0,0,0,87,90},{0,97,96,0,0},{0,0,89,0,0},{95,99,0,0,0},
						{0,0,96,97,0},{0,0,0,93,98},{94,91,0,0,0},{0,93,97,0,0},{0,0,98,97,98},
						{0,0,0,93,86},{98,83,99,98,81},{93,87,92,96,98},{0,0,0,98,92},{0,99,96,95,81} };
	int max = 0;
	for (int i = 0; i < 20; i++)
	{
		for (int j = 0; j < 20; j++)
		{
			for (int k = 0; k < 20; k++)
			{
				for (int m = 0; m < 20; m++)
				{
					for (int n = 0; n < 20; n++)
					{
						if (i == j || i == k || i == m || i == n || j == k || j == m || j == n || k == m || k == n || m == n)continue;
						if (score[i][0] == 0 || score[j][1] == 0 || score[k][2] == 0 || score[m][3] == 0 || score[n][4] == 0)continue;
						if (score[i][0] + score[j][1] + score[k][2] + score[m][3] + score[n][4] > max)
						{
							max = score[i][0] + score[j][1] + score[k][2] + score[m][3] + score[n][4];
						}
					}
				}
			}
		}
	}
	cout << max << endl;
	return 0;
}

答案:491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值