A - 高數Umaru系列(9)——哈士奇
Description
由於高數巨養的喵星人太傲嬌了,要天天吃新鮮貓糧而且還經常欺負高數巨,所以高數巨決定買幾條哈士奇嚐嚐鮮。這天高數巨來到了二手狗市場買哈士奇,高數巨看完了所有的哈士奇,記下了每條哈士奇的價格,並根據對它們的好感程度給它們每隻都賦予了一個萌值。高數現在手裡有X元,她想通過購買若干條哈士奇來獲得儘可能多的萌值。現在給定高數巨手裡的錢X以及N條哈士奇的價格和萌值,求高數巨最多可獲得多少萌值Input 多組輸入。
對於每組輸入,第一行有兩個整數N,X(1 < = N < = 100,1 < = X < = 1000),分別表示哈士奇的數量和高數巨的錢數
接下來的N行每行有兩個整數Pi,Mi(1 < = Pi,Mi < = 100),分別表示第i條哈士奇的價格和萌值
Output 對於每組資料,輸出一個整數,表示高數巨最多可以獲得的萌值,每組輸出佔一行
Sample Input 2 100 50 20 60 40 3 100 20 55 20 35 90 95 1 10 20 50
Output
40
95
0
0-1揹包
dp[i][j]表示能用價錢j買下的前i只狗的最大萌值。
如果價錢能夠買當前狗,分成買和不買兩種情況,dp[i][j]=max(dp[i-1][j-p[i]]+m[i],dp[i-1][j])。
如果買,dp[i-1][j-p[i]]+m[i],也就是買下第i只狗後的萌值=從前i-1狗中得到的最大萌值+第i只狗的萌值,買下後價錢j-p[i]。
如果不買,dp[i-1][j]到第i只狗的萌值=從前i-1狗中得到的最大萌值。
#include<bits/stdc++.h>
using namespace std;
int dp[105][1005];
int p[105],m[105];
int main()
{
int n,x;
while(cin>>n>>x)
{
for(int i=1; i<=n; i++)
{
cin>>p[i]>>m[i];
}
memset(dp,0,sizeof(dp));
for(int i=1; i<=n; i++)
{
for(int j=0; j<=x;j++)
{
if(j>=p[i])
{
dp[i][j]=max(dp[i-1][j-p[i]]+m[i],dp[i-1][j]);
}
else
dp[i][j]=dp[i-1][j];
}
}
cout<<dp[n][x]<<endl;
}
return 0;
}
相關文章
- MQ系列9:高可用架構分析MQ架構
- 進擊的哈士奇-框模型的學習模型
- 9*9的數獨(dfs)
- 牛客網高頻演算法題系列-BM9-刪除連結串列的倒數第n個節點演算法
- UFS系列9:UFS資料安全
- 小白學python系列-(9)函式Python函式
- Git 系列教程(9)- 打標籤Git
- 9-數對的個數
- 海信首次將其Mini LED技術應用到新的U9H高階系列中
- Vulnhub靶場 | DC系列 | DC-9
- 9.迴文數
- ●六數謎題●(9)
- 斐波那契數列9數4層4解平方魔法塔(9)
- Java9新特性系列(Stream改進)Java
- 7數的逆向操作(9)
- LeetCode9[迴文數]LeetCode
- React 深入系列6:高階元件React元件
- spring高質量系列-IOC (二)Spring
- 「Mybatis系列」Mybatis高階應用MyBatis
- Elasticsearch系列---幾個高階功能Elasticsearch
- 高階前端進階系列 - webview前端WebView
- Element原始碼分析系列9-Switch(開關)原始碼
- PHP DIY 系列------框架篇:9. 設計模式PHP框架設計模式
- Weex系列(9) —— Weex和安卓升級相容安卓
- 高可用系列文章之三 - NGINX 高可用實施方案Nginx
- laravel 9 倒數計時了Laravel
- LeetCode-N9-迴文數LeetCode
- flutter系列之:Navigator的高階用法Flutter
- 【Kubernetes系列】第9篇 網路原理解析(上篇)
- VulnHub-[DC-8-9]-系列通關手冊
- 【vulnhub】靶機-【DC系列】DC9(附靶機)
- 微服務9:服務治理來保證高可用微服務
- 2020-9-30數學作業
- leetcode的第9題:迴文數LeetCode
- Java高併發系列——檢視閱讀Java
- java高併發核心要點|系列1Java
- 我的前端元件 —- 16:9固定寬高比例的div前端元件
- 手寫題:9道字串類高頻面試題字串面試題