华为OD机试-分披萨(Java/Python/C++)

本文介绍了华为在线开发者(OD)机试中的一道题目——分披萨,要求将奇数块大小不等的披萨公平分配。题目解析包括输入输出描述、测试用例和解题关键点——回溯法。提供了Java、Python和C++三种语言的参考代码。

一、题目描述

华为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。
按照如
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值