2018招商銀行筆試題 團建活動

2021-08-08 05:28:06 字數 701 閱讀 2744

題目大意:一排人站成一隊,共有n個人,每個人有各自的身高,用乙個陣列表示。然後ab兩個人參與遊戲,每次可以從隊伍最左側選擇乙個或者兩個人加入自己的佇列,最後將兩人的佇列的人的身高總和進行比較,總和大的人獲得勝利,a先手,且a和b每個人都

足夠機智(每手都是最優),求a是否可以必勝。

首先這題只是看上去像個博弈,但是由於每個人的身高不同(題目並沒有給出身高範圍,理論上可以出現乙個人頂其它人總和的情況),所以博弈很難解決。

由於兩人都是足夠機智的,所以可以用dp[i]表示從位置i取可以獲得的最大值(a和b都可以表示),而隊伍末尾的值可以確定,即dp[n]=n;所以可以從最後進行反推,狀態轉移方程為:

dp[i]=max(a[i]+sum[n]-sum[i]-dp[i+1],a[i]+a[i+1]+sum[n]-sum[i+1]-dp[i+2]);

(sum[i]表示佇列從1到i的身高總和)

#include #include #include #include using namespace std;

int main()

dp[n]=n;

for(int i=n-1;i>=1;i--)

if(dp[1]>dp[2]||dp[1]>dp[3])

else

return 0;

}

2017招商銀行筆試01

招商銀行筆試 6.a 不是很確定 hashmap 實際上是乙個鍊錶的陣列,hashmap 的乙個功能缺點是它的無序性,被存入到 hashmap 中的元素,在遍歷 hashmap 時,其輸出是無序的。如果希望元素保持輸入的順序,可以使用 linkedhashmap 替代。treemap 有著比 has...

20200803招商銀行G meeker

三位數轉 逆序的二進位制編碼 小招喵是乙個商業巨腕,手下有n個公司,每 乙個公司他都對其有乙個三位數編碼,但是他現在想到了一種新的編碼方式。即原來的三位數的每一位數字0 9,對應成4位二進位制編碼,例如1對應0001,2對應0010,5對應0101,9對應1001.那麼三位數 可能小於百,預設前導為...

2018招商銀行筆試程式設計題 找零錢方案

輸入 第一行輸入t表示測試用例數,之後每兩行是乙個測試用例,前一行輸入零錢種類數和目標金額,後一行列出零錢面值 輸出 每行輸出乙個方案數 如下 include include include includeusing namespace std long long coinchange vector...