Microsxxxxxxx-面试总结
策略题
There are four kinds of cards, respectively, 1,2, 3,4 numbers. There are seven cards for each type of card. At this point, there are two players, and two players take one card in turn. When the sum of the cards is equal to 27, the next player wins. Which strategy can be used to ensure that the player wins?
假设两个玩家分别是A,B。此时来倒推。
| A+B | 剩余 | 先拿先赢或者输 | 做法 |
| 26 | 1 | 输 | A+B=26,此时只能拿1,输 |
| 25 | 2 | 赢 | 拿1剩1,剩1输 |
| 24 | 3 | 赢 | 拿2剩1,剩1输 |
| 23 | 4 | 赢 | 拿3剩1,剩1输 |
| 22 | 5 | 赢 | 拿4剩1,剩1输 |
| 输 | 拿1剩5,剩5时先拿先赢(此时剩5拿4赢),拿1输;拿2剩4,剩4时先拿先赢(此时剩4拿3赢),拿2输;拿3剩3,剩3时先拿先赢(此时剩3拿2赢),拿3输;拿4剩2,剩2时先拿先赢(此时剩2拿1),拿4输 | ||
| 20 | 7 | 赢 | 拿1剩6,剩6输 |
| 19 | 8 | 赢 | 拿2剩6,剩6输 |
| 18 | 9 | 赢 | 拿3剩6,剩6输 |
| 17 | 10 | 赢 | 拿4剩6,剩6输 |
| 16 | 11 | 输 | 拿1剩10,剩10赢(此时剩10拿4赢),拿1输;拿2剩9,剩9时先拿先赢(此时剩9拿3赢),拿2输;拿3剩8,剩8时先拿先赢(此时剩8拿2赢),拿3输;拿4剩7,剩7时先拿先赢(此时剩7拿1),拿4输 |
| 15 | 12 | 赢 | 拿1剩11,剩11输 |
| 14 | 13 | 赢 | 拿2剩11,剩11输 |
| 13 | 14 | 赢 | 拿3剩11,剩11输 |
| 12 | 15 | 赢 | 拿4剩11,剩11输 |
| 11 | 16 | 输 | 拿1剩15,剩15赢(此时剩15拿4赢),拿1输;拿2剩14,剩14时先拿先赢(此时剩14拿3赢),拿2输;拿3剩13,剩3时先拿先赢(此时剩13拿2赢),拿3输;拿4剩12,剩12时先拿先赢(此时剩12拿1),拿4输 |
| 10 | 17 | 赢 | 拿1剩16,剩16输 |
| 9 | 18 | 赢 | 拿2剩16,剩16输 |
| 8 | 19 | 赢 | 拿3剩16,剩16输 |
| 7 | 20 | 赢 | 拿4剩16,剩16输 |
| 6 | 21 | 输 | 拿1剩20,剩20赢(此时剩20拿4赢),拿1输;拿2剩19,剩19时先拿先赢(此时剩19拿3赢),拿2输;拿3剩18,剩18时先拿先赢(此时剩18拿2赢),拿3输;拿4剩17,剩17时先拿先赢(此时剩17拿1),拿4输 |
| 5 | 22 | 赢 | 拿1剩21,剩21输 |
| 4 | 23 | 赢 | 拿2剩21,剩21输 |
| 3 | 24 | 赢 | 拿3剩21,剩21输 |
| 2 | 25 | 赢 | 拿4剩21,剩21输 |
| 1 | 26 | 输 | 拿1剩25,剩25赢(此时剩25拿4赢),拿1输;拿2剩24,剩24时先拿先赢(此时剩24拿3赢),拿2输;拿3剩23,剩23时先拿先赢(此时剩23拿2赢),拿3输;拿4剩22,剩22时先拿先赢(此时剩22拿1),拿4输 |
则可以看出,
当A+B=5n+1时,先拿者先输
当A+B=5n+2时,先拿者先赢,拿4
当A+B=5n+3时,先拿者先赢,拿3
当A+B=5n+4时,先拿者先赢,拿2
当A+B=5n时,先拿者先赢,拿1
结论:想要赢者,必须先拿1,当对手拿1、2、3、4时,先拿1者分别对应拿4、3、2、1必胜。
Microsxxxxxxx-面试总结的更多相关文章
- C++常见笔试面试要点以及常见问题
1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...
- [Java面经] 关于面试的二三事.
今天终于闲下来了, 那么也好总结下这几天面试的经历.四天的时间一共面了七家, 有一家是自己推迟了没有去.声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/p/ ...
- 在面试中忽然发现DateTime的一些...
今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...
- 2016年8月ios面试问题总结
1.app分发方式 所谓分发方式简单点讲就是你的app都可以通过哪些途径给用户使用. a:个人或者公司的开发者账号 可以上传appStore,用户通过appStore下载. b:企业账号:打包分发. ...
- 记2016腾讯 TST 校招面试经历,电面、笔试写代码、技术面、hr面,共5轮
(出处:http://www.cnblogs.com/linguanh/) 前序: 距离 2016 腾讯 TST 校招面试结束已经5天了,3月27日至今,目前还在等待消息.从投简历到两轮电面,再到被 ...
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- Android面试经验 -- 乐视
此次投的是三年经验的Android开发,最后反而因为自己的失误,没有准备充分而导致结果很悲剧,以此告诫自己千万不能疏忽大意. 面试过程 第一次去大公司面试,心里不是一般的激动和紧张,来到乐视大厦门口, ...
- Android面试一天一题(1Day)
写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...
- Java面试基础概念总结
面向对象软件开发的优点有哪些? 答:开发模块化,更易维护和修改:代码之间可以复用:增强代码的可靠性.灵活性和可理解性. 多态的定义? 答:多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力. ...
- 【干货分享】前端面试知识点锦集04(Others篇)——附答案
四.Others部分 技术类 1.http状态码有哪些?分别代表是什么意思? (1).成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求 ...
随机推荐
- Mysql在字符串类型的日期上加上10分钟并和如今的日期做比較
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ufo2910628/article/details/32092869 SELECT id FROM ...
- LCT入门
前言 \(LCT\),真的是一个无比神奇的数据结构. 它可以动态维护链信息.连通性.边权.子树信息等各种神奇的东西. 而且,它其实并不难理解. 就算理解不了,它简短的代码也很好背. \(LCT\)与实 ...
- IBM带库加磁带操作
1.查询要弹出磁带的信息 可查询media日志,冻结,可用等,详情可查 查看带库空闲槽位 vmcheckxxx -rt tld -rn 0(0为带库名) 磁带详细信息: bpmedialist -m ...
- python3中使用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决办法
.原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法: 参考:http://bbs.chinaunix.net/thread-415474 ...
- SVN知识集合
1. 如果某个项目之前保存了A仓库的信息,无法切换到B仓库(通过AnkhSVN或者VisualSVN),可以先在本地去除版本控制(用TortoiseSVN),然后导出B仓库信息(用TortoiseSV ...
- 【转】css行高line-height的一些深入理解及应用
一.前言 前两天在腾讯ISD团队博客上看到一篇翻译的文章“深入理解css 行高”,是个不错的文章,学到了不少东西,建议您看看. 这里,我也要讲讲我对line-height的一些理解,所讲解的东西绝大多 ...
- Qlikview 数据加载方法罗列
以下是通常会用到的数据加载的方法,供大家参考: 1. 从文件加载: Data: Load *,RowNo() as InputKey; SQL SELECT ID,TEST,DATECREATED F ...
- CXF报错[1 counts of IllegalAnnotationExceptions]and[Two classes have the same XML type name]and[Use @XmlType.name and @XmlType.namespace to assign different names to them]
启动时CXF报错如下: Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalA ...
- HTML第二章:列表,表格,媒体元素
第二章:列表,表格,媒体元素 列表:有三种,有序列表,无序列表,定义列表 1.有序列表:<ol></ol> 列表项:<li></li&g ...
- jquery 操作css 选择器
.addClass() 为每个匹配的元素添加指定的样式类名 .addClass(className) className 为每个匹配元素所有增加的一个或多个样式名 .addClass(function ...