2019年第十届蓝桥杯(c/c++)B组第1题 组队

试题 A: 组队

本题总分:5 分
【问题描述】 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。 每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?

编号 1 号位 2 号位 3 号位 4 号位 5 号位

1 97 90 0 0 0

2 92 85 96 0 0

3 0 0 0 0 93

4 0 0 0 80 86

5 89 83 97 0 0

6 82 86 0 0 0

7 0 0 0 87 90

8 0 97 96 0 0

9 0 0 89 0 0

10 95 99 0 0 0

11 0 0 96 97 0

12 0 0 0 93 98

13 94 91 0 0 0

14 0 83 87 0 0

15 0 0 98 97 98

16 0 0 0 93 86

17 98 83 99 98 81

18 93 87 92 96 98

19 0 0 0 89 92

20 0 99 96 95 81
(如果你把以上文字复制到文本文件中,请务必检查复制的内容是否与文 档中的一致。在试题目录下有一个文件 team.txt,内容与上面表格中的相同, 请注意第一列是编号)
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

本题不是很难,因为是填空题所以有好几种方法,最简单的方法就是眼睛看了,不过错误的可能性高一点,其次就是excel,最后就是编写代码了,这里我们用了最最最最菜的一种方法,五重循环,暴力

#include
using namespace std;
int mm[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,83,87,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,89,92,0,99,96,95,81};
int main()
{
	int maxi=0;
	for(int i=0;i<20;i++)
	{
		if(mm[i][0]==0) continue;
		for(int j=0;j<20;j++)
		{
			if(i==j||mm[j][1]==0) continue;
			for(int k=0;k<20;k++)
			{
				if(i==k||j==k||mm[k][2]==0) continue;
				for(int l=0;l<20;l++)
				{
					if(i==l||j==l||k==l||mm[l][3]==0) continue;
					for(int q=0;q<20;q++)
					{
						if(i==q||j==q||k==q||l==q||mm[q][4]==0) continue;
						int mid=mm[i][0]+mm[j][1]+mm[k][2]+mm[l][3]+mm[q][4];
						if(mid>maxi)
						maxi=mid;
					}
				}
			}
		}
	}
	cout<


 

你可能感兴趣的:(2019年第十届蓝桥杯(c/c++)B组第1题 组队)