跳至正文

采药 解题报告

  • OI路程

就是一个经典的01背包,能够把时间看做体积,价值嘛就是价值,代码如下:

C语言:

#include <stdio.h>
#define max(a, b) ((a)>(b)?(a):(b))
int f[1001];

int main(void)
{
 int i, j;
 int m, n;
 int a, b;
 scanf(%d%d, &m, &n);
 for(i = 0; i < n; i++){
 scanf(%d%d, &a, &b);
 for(j = m; j >= a; j--){
 f[j] = max(f[j], f[j - a] + b);
 }
 }
 printf(%d\\n, f[m]);
 return 0;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注