羅区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 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_38204302/article/details/105199958