2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组 试题 A:组队
开搞一波套题
如题~
【问题描述】
作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员,
组成球队的首发阵容。
每位球员担任 1号位至 5号位时的评分如下表所示。请你计算首发阵容 1
号位至5号位的评分之和最大可能是多少?
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[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 res=0;
for(int i=0;i<20;i++)
{
if(a[i][0]==0) continue;
for(int j=0;j<20;j++)
{
if(i==j||a[j][1]==0) continue;
for(int k=0;k<20;k++)
{
if(i==k||j==k||a[k][2]==0) continue;
for(int l=0;l<20;l++)
{
if(i==l||j==l||k==l||a[l][3]==0) continue;
for(int q=0;q<20;q++)
{
if(i==q||j==q||k==q||l==q||a[q][4]==0) continue;
int sum=a[i][0]+a[j][1]+a[k][2]+a[l][3]+a[q][4];
res = max(res,sum);
}
}
}
}
}
cout<<res;
return 0;
}
直接五层暴力。
答案是:490