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();
	}
}
相关推荐
一只鱼^_10 小时前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法
.Vcoistnt3 天前
Codeforces Round 1024 (Div. 2)(A-D)
数据结构·c++·算法·贪心算法·动态规划·图论
xindafu3 天前
代码随想录算法训练营第三十八天|动态规划part6(完全背包2)
算法·动态规划
愚润求学4 天前
【动态规划】斐波那契数列模型
c++·笔记·算法·leetcode·动态规划
keepDXRcuriosity4 天前
动态规划详解及 C/C++ 示例
c语言·c++·动态规划
KuaCpp5 天前
5.8线性动态规划2
算法·动态规划
June`5 天前
动态规划之背包问题(分割等和子集问题)
算法·动态规划
1白天的黑夜16 天前
动态规划-62.不同路径-力扣(LeetCode)
c++·算法·leetcode·动态规划
bbblys6 天前
B4172 学习计划 题解
算法·动态规划
JK0x076 天前
代码随想录算法训练营 Day40 动态规划Ⅷ 股票问题
算法·动态规划