旅游城市数量最大化 01背包问题

题目描述

求一个人去旅游能到达的最多的城市。

输入格式

第一行为输入的样例组数T TT。

接着为n nn,m mm(n nn为这个人旅行的总天数,m mm为计划旅行的总城市数)。

接下来一行为一个整数数组d [ i ] d[i]d[i], 每一位依次表示游览每个城市所需的天数。

输出格式

输出一个整数,表示能到达的最多的城市数量。

输入样例

1

5 3

2 1 3

1

2

3

输出样例

2

代码:

#include <iostream>

#include <vector>

#include <map>

#include <algorithm>

#include <cstring>

#include <cmath>

#define MX 100000005

using namespace std;

//背包问题

int t,n,m,d[MX];

int dp[MX];

int main() {

cin>>t;

cin>>n>>m;

for(int i = 1;i <= m;i++)

{

cin>>d[i];

}

dp[0] = 0;

for(int i = 1;i <= m;i++)

{

for(int j = n;j >= d[i];j--)

{

dp[j] = max(dp[j],dp[j-d[i]] + 1);

}

}

cout<<dp[n]<<endl;

return 0;

}

相关推荐
天赐学c语言5 分钟前
12.19 - 买卖股票的最佳时机 && const的作用
c++·算法·leecode
菜鸟233号8 分钟前
力扣78 子集 java实现
java·数据结构·算法·leetcode
元契9 分钟前
上海到雁荡山2天1夜攻略
旅游
yesyesyoucan11 分钟前
在线魔方解谜站:从零入门到精通的智能魔方学习平台
学习·算法
Han.miracle12 分钟前
数据结构与算法--008四数之和 与经典子数组 / 子串问题解析
数据结构·算法
!停13 分钟前
字符函数和字符串函数
算法
AI科技星29 分钟前
圆柱螺旋运动方程的一步步求导与实验数据验证
开发语言·数据结构·经验分享·线性代数·算法·数学建模
FONE_Platform1 小时前
FONE食品饮料行业全面预算解决方案:构建韧性增长
人工智能·算法·全面预算·全面预算管理系统·企业全面预算
月明长歌1 小时前
【码道初阶】【Leetcode94&144&145】二叉树的前中后序遍历(非递归版):显式调用栈的优雅实现
java·数据结构·windows·算法·leetcode·二叉树
DanyHope1 小时前
《LeetCode 49. 字母异位词分组:哈希表 + 排序 全解析》
算法·leetcode·哈希算法·散列表