首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
给50个硬币,面值可以不同,排成一排,两个人轮流取,只能从两
[问答题]
给50个硬币,面值可以不同,排成一排,两个人轮流取,只能从两端取,先取的人如何保证取到的币值大于等于另一个人
查看答案及解析
添加笔记
求解答(8)
邀请回答
收藏(168)
分享
纠错
10个回答
添加回答
3
甚是无聊
首先计算奇数位金额大还是偶数大,如果奇数大,就先拿第一位的硬币,然后跟着另一个人拿硬币,保证你拿的都是奇数位,偶数大同理,若一样大,就可看成奇数大或偶数;
发表于 2016-02-21 13:31:27
回复(1)
3
haowg
奇数大拿奇数,偶数大拿偶数。然后就是他拿哪边我拿哪边保证奇偶不变
发表于 2015-07-08 18:37:38
回复(0)
9
SelForcmiles
明显动规dp的题啊,f[i][j]=max(num[i] + sum[i+1][j] - f[i+1][j] , num[j] + sum[i][j-1] - f[i][j-1])
f[i][j]表示从i到j取的最大和
sum[i][j]表示从i到j的和
每次只需判断拿左边大还是右边大就好了
发表于 2017-03-23 15:48:28
回复(3)
2
万QQ
既然是两个人轮流取,则率先想到奇偶判断,将奇数位的和和偶数位的和做比较,若是奇数位大则选取奇数序号,反之则选偶数序号。
发表于 2015-06-19 10:58:35
回复(0)
0
快乐记忆
按面值排序,两个人分别从两端取,就可以保障一个总额大于等于另一个
发表于 2019-08-10 17:46:51
回复(0)
0
wanye_z
一共50个硬币。首先看看奇数和以及偶数和的大小,如果偶数和大,那么我就每次取偶数,并且因为一共是50个,我是可以保证的;当然,如果奇数大,那么每次就取奇数,同样,这个也是可以保证的。
但是如果总数不是50而是51后者49,我们就无法保证了。那么这道题该如何解?
发表于 2017-09-11 10:51:36
回复(0)
0
冰菓
动态规划的算法怎么设计啊
发表于 2015-08-11 01:21:43
回复(0)
0
小小娃爱吃甜食
先给所有硬币编号,计算奇数位的和和偶数位的和,比较,奇数位和大则取基数,否则反之。如果相同,就要采用动态规划了
编辑于 2015-07-10 11:13:53
回复(0)
0
我呀哈哈哈
我理解的是每个人每次从开始或最后取硬币,每次取一枚:
方法:看前两个和最后两个,找其中的最大值,如果最大值在外侧(即在开头或结尾),那么就取走最大的;如果最大面值的不在最外侧,就取走非 最大面值硬币所在侧 的最外侧硬币(比如,最大面值在开头那一侧,就取结尾那一侧的最外面的硬币)
发表于 2015-06-02 22:10:31
回复(0)
0
陈木木
看奇数位的数的和以及偶数位的数的和哪个大,若奇数位的***第一个,否则选最后面的(这里假设奇数位和偶数位的和不同)若出现相同,可以采用动态规划的思路来做
发表于 2015-05-05 14:37:34
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
智力题
上传者:
陈木木
难度:
10条回答
168收藏
11042浏览
热门推荐
相关试题
一个酒吧内有排成一行的25个座位,...
百度
智力题
评论
(8)
在平面内两个矩形,如何用一条直线同...
百度
智力题
评论
(4)
一块金子做为给雇员的工资,工作七天...
百度
智力题
评论
(6)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题