HDU 2159(dp46)

来源:互联网 发布:淘宝店模板收费吗 编辑:程序博客网 时间:2024/05/22 10:48
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int a[105], b[105];int dp[105][105];int main(){ int N, M, K, S, i, j, k;     while(scanf("%d%d%d%d", &N, &M, &K, &S) != EOF)     {      for(i = 1; i <= K; i++)           scanf("%d%d", &a[i], &b[i]);      memset(dp, 0, sizeof(dp));          for(i = 1; i <= M; i++)          {               for(j = 1; j <= S; j++)               {                    for(k = 1; k <= K; k++)                    if(i - b[k] >= 0)                    {                            dp[i][j]=max(dp[i][j],dp[i - b[k]][j - 1] + a[k]);                    }               }            if (dp[i][S] >= N) break;          }        printf("%d\n", M - i);      }     return 0;}
0 0
原创粉丝点击