1 条题解
-
0
题意简述
给定三个正整数 ,可以进行最多 次操作,每次操作选择其中一个数加 。求最终 的最大可能值。
思路
由于操作次数非常少(最多 次),且每个数的初始值不超过 ,可以暴力枚举所有可能的操作分配。
用三重循环枚举给 增加 次、给 增加 次、给 增加 次,其中 且 。
对每一种分配,计算乘积 ,取最大值即可。
时间复杂度 每组,完全足够。
参考代码
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { int a, b, c; cin >> a >> b >> c; int ans = 0; for (int i = 0; i <= 5; ++i) { for (int j = 0; j <= 5 - i; ++j) { for (int k = 0; k <= 5 - i - j; ++k) { int cur = (a + i) * (b + j) * (c + k); ans = max(ans, cur); } } } cout << ans << "\n"; } return 0; }
- 1
信息
- ID
- 6885
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者