面试智力题

一个很有意思的面试智力题,一时半会没想到解法,求助大家。

两个人轮流取n颗带编号(1.2.3...n)的石头,每次只能取1颗或者编号连续的两颗,不能再取为负,问必胜策略

#笔试题目#
全部评论
总数为奇数时,先取最中间的一个,然后以中间那个数为对称轴,你就取对方对称的石头;偶数时先取中间两个,同理。
1 回复 分享
发布于 2019-05-09 15:12
奇数就选中间一个,偶数就选中间两个,这样就分成两堆,然后对方选什么,你就选另一堆一样的
11 回复 分享
发布于 2019-05-09 15:04
先取的必胜,如果是奇数个先取最中间的一颗,如果是偶数个,先取中间的两颗,相当于把石头分成了两堆,接下来无论对方取哪颗,只要在另外一堆取与他关于中心对称的一颗就赢了,嗯,应该就是这样。
7 回复 分享
发布于 2019-05-09 15:05
每次都取中间的数字,奇数取最中间一个,偶数取最中间两个,这样就能够把数组分割成对称的两部分。然后他在一边取一个或者两个,你就在另外一边取相同位置对称的一个或者两个。这样的话,他选择取的那一边如果没取完,你那一边就肯定没取完;他那一边如果取完了,你这一边也肯定正好取完了。而棋子总有被取完的一次,而你,恰恰因为对称的缘故,永远是那个最后取完的人。
3 回复 分享
发布于 2019-05-09 22:04
我思路是先取中间编号,分成两堆,类似分治的思想
2 回复 分享
发布于 2019-05-09 14:46
例如1.2.3.4.5,我取了2.3之后,你可以取的方式有1、4、5、45这四种,不能取14或15因为不连续
点赞 回复 分享
发布于 2019-05-09 14:40
这应该反推,考虑自己最后可以取最后一颗,或者最后连续的两颗,往前推
点赞 回复 分享
发布于 2019-05-09 14:44
如果是三颗石头,然后你先取,那你不管怎样都是输吧
点赞 回复 分享
发布于 2019-05-09 14:50
这和那个阿里的棋盘面试题是一样的思路欸
点赞 回复 分享
发布于 2019-05-09 15:08
对称博弈
点赞 回复 分享
发布于 2019-05-09 15:19
头条面试问的?
点赞 回复 分享
发布于 2019-05-09 21:31
。。。百度一下巴什博弈
点赞 回复 分享
发布于 2019-05-09 22:42

相关推荐

程序员猪皮:看不到八股什么意思
点赞 评论 收藏
分享
评论
点赞
21
分享
牛客网
牛客企业服务