这题数据是不是水了,我这样一份代码能过
查看原帖
这题数据是不是水了,我这样一份代码能过
204954
Wogua_boy楼主2024/8/2 21:47

我只想混个70分的,没想到直接AC了

#include <bits/stdc++.h>
int t, n, m;
const int maxn = 105;
int p[maxn][maxn];
int Max[maxn];
int f[10005];
int main ()
{
	scanf("%d%d%d", &t, &n, &m);
	for (int i = 1; i <= t; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			scanf("%d", &p[i][j]);
		}
	}
	Max[1] = m;
	for (int i = 1; i <= t; i++)
	{
		for (int j = i + 1; j <= t; j++)
		{
			for (int k = 0; k < 10005; k++)
			{
				f[k] = -1e9;
			}
			f[0] = 0;
			for (int k = 1; k <= n; k++)
			{
				if (p[j][k] <= p[i][k]) continue;
				for (int tt = p[i][k]; tt <= Max[i]; tt++)
				{
					f[tt] = std::max(f[tt], f[tt - p[i][k]] + p[j][k]);
				}
			}
			for (int k = 0; k <= Max[i]; k++)
			{
				Max[j] = std::max(Max[j], f[k] + Max[i] - k);
			}
		}
	}
	std::cout << Max[t] << "\n";
}
2024/8/2 21:47
加载中...