P2734 遊戲 A Game DP問題)

2021-08-02 02:50:03 字數 1085 閱讀 5724

題目提供者該使用者不存在

標籤usaco

雲端難度普及+/提高

時空限制1s / 128mb

有如下乙個雙人遊戲:n(2 <= n <= 100)個正整數的序列放在乙個遊戲平台上,遊戲由玩家1開始,兩人輪流從序列的任意一端取乙個數,取數後該數字被去掉並累加到本玩家的得分中,當數取盡時,遊戲結束。以最終得分多者為勝。

編乙個執行最優策略的程式,最優策略就是使玩家在與最好的對手對弈時,能得到的在當前情況下最大的可能的總分的策略。你的程式要始終為第二位玩家執行最優策略。

輸入格式:

第一行: 正整數n, 表示序列中正整數的個數。

第二行至末尾: 用空格分隔的n個正整數(大小為1-200)。

輸出格式:

只有一行,用空格分隔的兩個整數: 依次為玩家一和玩家二最終的得分。

輸入樣例#1:

6 

4 7 2 9 5 2

輸出樣例#1:

18 11

題目翻譯來自nocow。

usaco training section 3.3

#include#include#include#include#includeusing namespace std;

int dp[150][150],sum[150];

int main()

for(i=1;i<=n;i++)

for(j=1;j<=n-i;j++)

dp[j][j+i]=max(dp[j][j]+sum[j+i]-sum[j]-dp[j+1][j+i],

dp[j+i][j+i]+sum[j+i-1]-sum[j-1]-dp[j][j+i-1]);

printf("%d %d",dp[1][n],sum[n]-dp[1][n]);

return 0;

}

洛谷 P2734 遊戲 A Game

有如下乙個雙人遊戲 n 2 n 100 個正整數的序列放在乙個遊戲平台上,遊戲由玩家1開始,兩人輪流從序列的任意一端取乙個數,取數後該數字被去掉並累加到本玩家的得分中,當數取盡時,遊戲結束。以最終得分多者為勝。編乙個執行最優策略的程式,最優策略就是使玩家在與最好的對手對弈時,能得到的在當前情況下最大...

P2356 彈珠遊戲

元宵節不放假挺鬱悶的,於是時間機智的改到了星期6一整天!medalplus 和他的小夥伴 noirp 發掘了乙個骨灰級別的遊戲 超級彈珠。遊戲的內容是 在乙個 n n 的矩陣裡,有若干個敵人,你的彈珠可以摧毀敵人,但只 能攻擊你所在的行 列裡的所有敵人,然後你就可以獲得他們的分數之和,現在請你選擇 ...

P2670 掃雷遊戲

掃雷遊戲是一款十分經典的單機小遊戲。在n行m列的雷區中有一些格仔含有地雷 稱之為地雷格 其他格仔不含地雷 稱之為非地雷格 玩家翻開乙個非地雷格時,該格將會出現乙個數字 提示周圍格仔中有多少個是地雷格。遊戲的目標是在不翻出任何地雷格的條件下,找出所有的非地雷格。現在給出n行m列的雷區中的地雷分布,要求...