13913. 珅泽教育CSP-J第一轮模拟考第十九套 第 45 题
珅泽教育CSP-J第一轮模拟考第十九套 第 45 题
完善程序(2):传花取分游戏
两个玩家玩一个游戏,每个人的目标是让自己的总分尽可能多。游戏共有 轮,每轮的分数在游戏开始前给定,依次记为 。
每轮游戏中,手上有花的人可以选择:
- 保留花:把这一轮的分数送给对方;下一轮花仍在自己手上。
- 取走这一轮的分数:这一轮得分归自己;下一轮花交给对方。
开始时持花的人称为先手。双方都采用最优策略,请补全程序,返回先手能获得的总分。所有分数及累加结果均在 int 范围内。回答第41—45题。
const int N = 1 << 8;
int s[N + 1];
int f(int n)
{
if (_____(1)_____)
{
return 0;
}
else
{
int flower = f(n-1);
return std::max(flower, _____(2)_____);
}
}
int solve(int A[])
{
s[0] = 0;
for (int i = 0; i < N; ++i)
{
s[_____(3)_____] = s[i] + A[_____(4)_____];
}
return f(_____(5)_____);
}
(5)处应填( )。
{{ select(1) }}
01N-1N