洛谷 P1616 - 疯狂的采药

题目描述

P1616 疯狂的采药

解法:完全背包问题

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int T, M, t[10001], p[10001], dp[100001];
    scanf("%d%d", &T, &M);
    for(int i=1;i<=M;i++)
        scanf("%d%d", &t[i], &p[i]);
    for(int i=1;i<=M;i++)
        for(int j=t[i];j<=T;j++)
            dp[j] = max(dp[j], dp[j-t[i]]+p[i]);
    printf("%d", dp[T]);
    return 0;
}

发布了152 篇原创文章 · 获赞 22 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38204302/article/details/105199958