站外题求调!(玄关,先到先得)
  • 板块灌水区
  • 楼主Hope5365
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/1 16:17
  • 上次更新2024/5/1 20:11:37
查看原帖
站外题求调!(玄关,先到先得)
1004336
Hope5365楼主2024/5/1 16:17

本蒟蒻的代码:

#include <iostream>
using namespace std;

const int N = 5e2 + 10;
int t,n,t1[N],t2[N],w[N],f[N][N][N],ans;
//f[i][j][k]表示后i个药,锅1冷却到j可以使用,
//锅2冷却到k可以使用的最大药效

int main()
{
	ios::sync_with_stdio(0);
	cin >> t >> n;
	for(int i = 1;i <= n;i ++)
		cin >> t1[i] >> t2[i] >> w[i];
	for(int i = n;i >= 1;i --)
		for(int j = t;j >= 1;j --)
			for(int k = t;k >= 1;k --)
			{
				f[i][j][k] = f[i + 1][j][k];
				if (j <= t1[i]) f[i][j][k] = max(f[i][j][k],f[i + 1][t2[i]][k] + w[i]);
				if (k <= t1[i]) f[i][j][k] = max(f[i][j][k],f[i + 1][j][t2[i]] + w[i]);
				ans = max(ans,f[i][j][k]);
			}
	cout << ans << endl;
	return 0;
}
2024/5/1 16:17
加载中...