1022. 宠物小精灵之收服

思路

双层dp

代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

const int N = 1010, mod = 1e9 + 7;

int n, m, k, x, y, z, ans, t;
int w[N], f[N][N];

void solve()
{
	cin >> n >> m >> k;
	
	for (int i = 1; i <= k; i ++ )
	{
		cin >> x >> y;
		for (int j = n; j >= x; j -- )
		{
			for (int l = m - 1; l >= y; l -- )
			{
				f[j][l] = max(f[j][l], f[j - x][l - y] + 1);
			}
		}
	}
	
	cout << f[n][m - 1] << " ";
	
	ans = m - 1;
	
	while (ans > 0 && f[n][ans - 1] == f[n][m - 1]) ans --;
	
	cout << m - ans << "\n";
}

signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int T = 1;
//	cin >> T;
	while (T -- )
	{
		solve();
	}
}
相关推荐
闻缺陷则喜何志丹34 分钟前
【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567
c++·算法·动态规划·力扣·图论·最短路·路径
忘梓.3 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
Jessie_waverider3 天前
LeetCode刷题day29——动态规划(完全背包)
算法·leetcode·动态规划
忘梓.3 天前
解锁动态规划的奥秘:从零到精通的创新思维解析(2)
算法·动态规划
苓诣3 天前
分割等和子集
动态规划
aaal12343 天前
代码随想录算法训练营day46|动态规划part12
算法·动态规划
灰阳阳3 天前
01背包:模板题+实战题
java·算法·动态规划·背包问题·01背包
灰阳阳3 天前
完全背包_模板题
java·算法·动态规划·完全背包
sweetheart7-74 天前
LeetCode1143. 最长公共子序列(2024冬季每日一题 36)
算法·动态规划·力扣·dp·最长公共子序列
m0_749317525 天前
偷懒算法第二天
java·学习·算法·蓝桥杯·动态规划