xinjun與陰陽師

2021-09-08 23:30:31 字數 1146 閱讀 1603

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

xinjun是各類手遊的狂熱粉絲,因隨手一氪、一氪上千而威震工大,現在他迷上了陰陽師。xinjun玩手游有乙個習慣,就是經過層層計算制定出一套方案來使操作利益最大化(因此即使有掃蕩券也不用,故稱聖雄肝帝)。已知陰陽師有n個模式可以操作,模式i有ai種操作,但每種模式每日只能選用一種操作,可以不選。操作j能收益vj,但需要花費體力wj點。xinjun每日擁有體力m點,求他每日最多能得到多少收益。

第一行乙個正整數t(t<=10),表示共有t組資料。

對於每組資料,第一行兩個正整數n,m(1<=n,m<=1000)。

接下來n段資料,每段第一行乙個正整數ai(1<=ai<=1000),第二行ai個正整數vj(1<=vj<=1000),第三行ai個正整數wj(1<=wj<=1000)。

每組資料ai之和不大於104。

對每組資料輸出一行,即xinjun每日最多能得到多少收益。
示例1

複製

1

3 10

22 3

3 22

1 13 415

5

複製

9
題解 : 這是乙個變形的選和不選的 01揹包問題 , 只不過每一種題目中說有 n 中模式 , 每種模式有ai中操作, 每一種操作可以選也可以不選.變成3重迴圈. 

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

const int max = 1005 ;

vectorv[max] ,w[max] ;

int dp[max] ;

int n , m ;

int main()

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

for(int j = 1 ; j<=a ; j++ )

} memset(dp,0,sizeof(dp));

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

} cout<}

return 0 ;

}

xinjun與陰陽師

xinjun是各類手遊的狂熱粉絲,因隨手一氪 一氪上千而威震工大,現在他迷上了陰陽師。xinjun玩手游有乙個習慣,就是經過層層計算制定出一套方案來使操作利益最大化 因此即使有掃蕩券也不用,故稱聖雄肝帝 已知陰陽師有n個模式可以操作,模式i有ai種操作,但每種模式每日只能選用一種操作,可以不選。操作...

nowcoder xinjun與陰陽師

看似是完全揹包的題目 可以看成是稍微加了種類限制的01揹包 所以三重迴圈解決 第一重是種類 第二重是容量 第三重是每一種中選擇乙個模式不斷更新dp一維陣列 include using namespace std const int n 1000 5 int n,m,dp n vector a n b...

試著在unity實現陰陽師抽卡效果

試著在unity實現陰陽師抽卡效果 之前為了社團活動 demoday,乙個展示社團成員遊戲作品的社團展會 做了乙個 程式。因為是硬核遊戲開發社團舉辦的遊戲展,我為此特地做了乙個陰陽師的抽卡系統如下 由於轉成gif格式不是很清楚,之前也忘了在b站上傳,基本表現效果就是這樣了。螢幕畫線仔細看還是能看到的...