題目:
鏈接:點擊打開鏈接
算法:
二維的完全背包;
思路:
狀態轉移方程:dp[j][m] = max(dp[j][m],dp[j-b[i]][m-1]+a[i]);表示用j的忍耐度殺死m個怪獸能夠得到的最大的經驗值。
代碼:
#include#include #include using namespace std; int dp[110][110]; int a[110],b[110]; int n,m,k,s; int main() { int i; //freopen("input.txt","r",stdin); while(scanf("%d%d%d%d",&n,&m,&k,&s) != EOF) { for(i=0; i >a[i]>>b[i]; memset(dp,0,sizeof(dp)); for(i=0; i