啊哈磊_编程从这里起步

标题: [dp]采药 [打印本页]

作者: 邀请码    时间: 2016-8-22 21:40
标题: [dp]采药

  1. #include <stdio.h>
  2. int max(int x,int y){return x>y?x:y;}
  3. int main(){
  4.     int n,m,w[101],c[101],dp[1001]={0};
  5.     scanf("%d%d",&m,&n);
  6.     for(int i=1;i<=n;i++)
  7.     scanf("%d%d",c+i,w+i);
  8.     for(int i=1;i<=n;i++)
  9.         for(int j=m;j>=c[i];j--)
  10.             dp[j]=max(dp[j],dp[j-c[i]]+w[i]);
  11.     printf("%d\n",dp[m]);
  12.     return 0;
  13. }
复制代码


作者: 4399APPLE    时间: 2016-8-22 21:43
不就个01Pack吗
作者: 邀请码    时间: 2016-8-22 22:28
4399APPLE 发表于 2016-8-22 21:43
不就个01Pack吗

好吧。。。




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2