#10588. 珅泽教育CSP-J第一轮模拟考第十三套 第 41 题
珅泽教育CSP-J第一轮模拟考第十三套 第 41 题
第2题
给定 根火柴的长度 ,请用这些火柴围成一个面积最大的三角形。注意所有的火柴都必须用上,不得丢弃。输出最大三角形的面积。假设最大面积为 ,则输出 。,数据保证至少有一种方案可以围成三角形。
#include<iostream>
using i64 = long long;
int n;
int a[40];
bool mem[40][40*40][40*40];
i64 value[40][40*40][40*40];
i64 solve(int i, int x, int y, int z) {
if (i < n) {
if (mem ____(1)____ > 0) return value ____(2)____;
auto s1 = solve(i+1, x + a[i], y, z);
auto s2 = solve(i+1, x, y + a[i], z);
auto s3 = solve(i+1, x, y, z + a[i]);
mem ____(3)____ = true;
return value ____(4)____ = ____(5)____;
}
else {
if ( ____(6)____ ) return 0;
i64 p = ____(7)____ ;
return ____(8)____ ;
}
}
int main()
{
std::cin >> n;
for (int i = 0; i < n; ++i) {
std::cin >> a[i];
}
std::cout << solve(0, 0, 0, 0);
}
(1)、(2)、(3)、(4)处应填( )。
{{ select(1) }}
[i][x][y]、[i][x][y]、[i][x][y]、[i][x][y][i][x][y]、[x][y][z]、[i][x][y]、[x][y][z][x][y][z]、[i][x][y]、[x][y][z]、[i][x][y][x][y][z]、[x][y][z]、[x][y][z]、[x][y][z]