一、题目描述
华为OD机试-分披萨(Java/Python/C++)
题目描述:
吃货和"馋嘴"两人到披萨店点了一份铁盘圆形披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的 服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们商量了一个他们认为公平的分法:从"吃货"开始,轮流取被萨。除了第一块破产可以任意选取外,其他都必须从缺口开始选 他俩选披萨的思路不同。"馋嘴"每次都会选最大块的披萨,而且"吃货”知道"馋嘴"的想法。
已知披萨小块的数量以及每块的大小,求”吃货”能分得的最大的披萨大小的总和。
二、输入输出
输入描述:
第 1行为一个正整数奇数 N,表示披萨小块数量.
3≤N<500
接下来的第 2 行到第 N + 1行(共 N 行),每行为一个正整数,表示第i块披萨的大小
1≤ i ≤N
披萨小块从某一块开始,按照一个方向次序顺序编号为 1~N
每块披萨的大小范围为[1,2147483647]
输出描述:"吃货”能分得到的最大的披萨大小的总和。
三、测试用例
示例1:
输入:
5
8
2
10
5
7
输出:
19
说明:
此例子中,有 5 块披萨。每块大小依次为 8、2、10,5、7。
按照如
本文介绍了华为在线开发者(OD)机试中的一道题目——分披萨,要求将奇数块大小不等的披萨公平分配。题目解析包括输入输出描述、测试用例和解题关键点——回溯法。提供了Java、Python和C++三种语言的参考代码。
订阅专栏 解锁全文
1540

被折叠的 条评论
为什么被折叠?



