試題 A: 組隊
本題總分:5 分
【問題描述】
作爲籃球隊教練,你需要從以下名單中選出 1 號位至 5 號位各一名球員,
組成球隊的首發陣容。
每位球員擔任 1 號位至 5 號位時的評分如下表所示。請你計算首發陣容 1
號位至 5 號位的評分之和最大可能是多少?
(如果你把以上文字複製到文本文件中,請務必檢查複製的內容是否與文
檔中的一致。在試題目錄下有一個文件 team.txt,內容與上面表格中的相同,請注意第一列是編號)
【答案提交】
這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果爲一
個整數,在提交答案時只填寫這個整數,填寫多餘的內容將無法得分。
答案:490
[思路]
既然是一個填空題,直接暴力就得了,暴力枚舉每一種情況,但注意的一點的是5個位置的編號不能重合,否則就算成了492了
思路代碼:
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
int t[25],a[25],b[25],c[25],d[25],e[25];
int main()
{
for(int i=0;i<20;i++)
{
cin>>t[i]>>a[i]>>b[i]>>c[i]>>d[i]>>e[i];
}
int maxe=0;
for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
if(i!=j)
{
for(int z=0;z<20;z++)
{
if(i!=z&&j!=z)
{
for(int k=0;k<20;k++)
{
if(i!=k&&j!=k&&z!=k)
{
for(int p=0;p<20;p++)
{
if(i!=p&&j!=p&&z!=p&&k!=p)
{
if(a[i]+b[j]+c[z]+d[k]+e[p]>maxe)
{
maxe=a[i]+b[j]+c[z]+d[k]+e[p];
}
}
}
}
}
}
}
}
}
}
cout<<maxe;
}