每日一题 <P1507 NASA的食物计划>

简介: 算法题打卡

题目大概是这样子的

50ANTV~LW13_@1PDJYAL193.png

读题目之后,仔细理解发现是01背包的变形,需要空间的容量被分成了两种,由此需要两种数值的dp来运算。需要用到三层循环分别控制物品的选择、重量和体积,以卡路里为标准找最高结果

#include<iostream>
using namespace std;
int m, v;
int i, j, n, w[51]/*体积*/, t[52]/*质量*/, k[51], dp[401][501];
int main()
{
  cin >> v >> m >> n;
  for (int i = 1; i <= n; i++)
  {
    cin >> w[i] >> t[i] >> k[i];
  }
  for (int i = 1; i <= n; i++)
  {
    for (int j = v; j >= w[i]; j--)
    {
      for (int z = m; z >= t[i]; z--)
      {
        dp[j][z] = max(dp[j - w[i]][z - t[i]] + k[i], dp[j][z]);
      }
    }
  }
  cout << dp[v][m];
  return 0;
}

image.gif

image.gif

目录
相关文章
|
人工智能 Java
HDU - 2018杭电ACM集训队单人排位赛 - 2 - Problem C. Team Match
HDU - 2018杭电ACM集训队单人排位赛 - 2 - Problem C. Team Match
135 0
|
Java Go
HDU - 2018杭电ACM集训队单人排位赛 - 2 - Problem E. Travel
HDU - 2018杭电ACM集训队单人排位赛 - 2 - Problem E. Travel
113 0
洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…【字符串+模拟】
P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He… 题目描述 众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。
1601 0