暑假練習 遊戲

2021-08-21 14:37:10 字數 827 閱讀 6735

個人筆記,僅供複習

遊戲【題意描述】

第1行乙個整數n。

第2~n+1行每行會有乙個字元』u』或』m』,分別表示公升級和怪物,如果是怪物,之後有空格隔開的三個整數a[i],atk[i],def[i]。

【輸出格式】

乙個整數,表示最多的金錢。

【樣例輸入輸出】5u

um 2 1 2

m 5 2 1

m 3 1 3 7

【樣例解釋】

小喵喵可以選擇分別增加一次攻擊和防禦,從而可以打3號和4號怪物。總的金錢是2+5=7.

【資料範圍】

對於20%的資料,n<=10

對於另外20%的資料,所有怪物的def[i]為1.

對於另外30%的資料,n<=100

對於所有的資料,n<=2000,1<=atk[i],def[i]<=n,a[i]<=109.

解題思路:第一次看到這題我想到的是用圖的方法(最近學圖論入迷了)。但事實上這題是典型的用動態規劃解題。看了老師給的**才茅塞頓開。

解題**:老師給的答案,自己按照理解寫的注釋。

#include using namespace std;

long long dp[2000][2000], maxn;

int main() else

}cout << maxn << endl;

return 0;

}

暑假練習 2(動態規劃)

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有一條長為n的走廊,小明站在走廊的一端,每次可以跳過不超過p格,每格都有乙個權值wi。小明要從一端跳到另一端,不能回跳,正好跳t次,請問他跳過的方格的權值和最大是多少?輸入格式 輸入的第一行包含兩個整數n,p,t,表示走廊的長度,小...

猜拳練習遊戲(回爐練習)

author zht usr bin env python coding utf 8 努力學習每一天 1 匯入隨機數模組 import random 2 判斷輸入的是否為數字 while true try player int input 033 1 35m請輸入 剪刀 0 石頭 1 布 2 033...

陣列清空練習和遊戲練習

現在有乙個整數陣列,其元素值均為1 n範圍內的某個整數,現在你和你的朋友在玩乙個遊戲,遊戲的目的是把陣列清空,你們輪流操作,你是先手,每次操作你可以刪除陣列中值為某個數的元素任意多個 當然陣列中值為這個數的元素個數應大於等於你刪除的個數,且你至少要刪除乙個數 最先把陣列清空的人獲得勝利。假設你們都採...