面趣 | 想一想这道题,没准去BAT面试就遇到了呢?
参加 2018 AI开发者大会,请点击 ↑↑↑
问:
游戏设置:这里有一排糖果,两个人分别轮流从中抓取一块或两块(注:抓取的两块必须是挨着的)。
中奖规则:谁拿到了最后的糖果,谁就是胜者!
算法要求:编写一条算法:保证先抓的人一定能赢(可以不写代码,下方留言写出具体的思路)。
思路在下边,不许偷看哦~~
思路:
A、B两个人,
1.如果这里有3块糖果,A先拿走了中间的一块,显而易见,那么无论B怎么拿,A都会赢
2.如果这里有4块糖果,A先拿了中间的2块,同样的,无论B怎么拿,A也都会赢
3.举一反三,如果这里增到五块糖果,A先拿了中间的1块,如果B拿走1块,A就拿和B中心对称的一块,这样A还是会赢。
如果想让先拿的获胜,我们就得出以下规律:
1. 糖果如果是奇数块,先拿的就拿中间的一块;
2. 糖果如果是偶数块,先拿的就先拿中间的两块;
3. 1、2步骤后剩下的只要和对方的基于中心点对称就一定会赢。
你想到了吗,让你的朋友一起来试试吧!
或者你有更好的思路,欢迎下方留言!
欢迎投稿,写出具体的算法!
(是时候展示真正的实力了!!)
完
1.微信群:
添加小编微信:tangguoyemeng,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2.征稿:
投稿邮箱:lijy@csdn.net;微信号:tangguoyemeng。请备注投稿+姓名+公司职位。
推荐阅读
扫描以下二维码即可参与“2018 年 CSDN 软件开发者大调查活动”!我们还为你准备了精美的礼品,华为 nova3 智能手机、小爱智能音箱、CSDN 背包、CSDN 定制T恤、数百本技术图书等你来拿!参与即有机会获赠,还等什么,快来试试吧!
↓↓↓ 点击【阅读原文】查看「CSDN云计算」往期精彩内容