策略题

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  赢   拿1剩6,剩6输
19  赢   拿2剩6,剩6输
18  赢   拿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输
18  赢   拿2剩16,剩16输
19  赢   拿3剩16,剩16输
20  赢   拿4剩16,剩16输
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输
22  赢   拿1剩21,剩21输
23  赢   拿2剩21,剩21输
24  赢   拿3剩21,剩21输
25  赢   拿4剩21,剩21输
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-面试总结的更多相关文章

  1. C++常见笔试面试要点以及常见问题

    1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...

  2. [Java面经] 关于面试的二三事.

    今天终于闲下来了, 那么也好总结下这几天面试的经历.四天的时间一共面了七家, 有一家是自己推迟了没有去.声明:如若转载请注明出处:http://www.cnblogs.com/wang-meng/p/ ...

  3. 在面试中忽然发现DateTime的一些...

    今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...

  4. 2016年8月ios面试问题总结

    1.app分发方式 所谓分发方式简单点讲就是你的app都可以通过哪些途径给用户使用. a:个人或者公司的开发者账号 可以上传appStore,用户通过appStore下载. b:企业账号:打包分发. ...

  5. 记2016腾讯 TST 校招面试经历,电面、笔试写代码、技术面、hr面,共5轮

    (出处:http://www.cnblogs.com/linguanh/) 前序: 距离  2016 腾讯 TST 校招面试结束已经5天了,3月27日至今,目前还在等待消息.从投简历到两轮电面,再到被 ...

  6. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  7. Android面试经验 -- 乐视

    此次投的是三年经验的Android开发,最后反而因为自己的失误,没有准备充分而导致结果很悲剧,以此告诫自己千万不能疏忽大意. 面试过程 第一次去大公司面试,心里不是一般的激动和紧张,来到乐视大厦门口, ...

  8. Android面试一天一题(1Day)

    写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...

  9. Java面试基础概念总结

    面向对象软件开发的优点有哪些? 答:开发模块化,更易维护和修改:代码之间可以复用:增强代码的可靠性.灵活性和可理解性. 多态的定义? 答:多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力. ...

  10. 【干货分享】前端面试知识点锦集04(Others篇)——附答案

    四.Others部分 技术类 1.http状态码有哪些?分别代表是什么意思? (1).成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求 ...

随机推荐

  1. Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.错误

    错误如图示: 1.在php的目录下建立个文件夹tmp,这个有权限的问题,如果是ntfs的分区,就一定要添加evryone的控制权限,否则是没用的.2.在php.ini找到session.save_pa ...

  2. IOS笔记 : 一些小技巧

    计算单元格高度,在自定义cell中 -(void) resizeTheHeight{ CGFloat contentWidth = 280; UIFont *font = [UIFont fontWi ...

  3. AJAX(四):XHR2支持的方法

    XMLHttpRequest 1级只是把已有的XHR对象的实现细节描述了出来.而XMLHttpRequest 2级则进一步发展了XHR FormDataFormData为序列化表单以及创建与表单格式相 ...

  4. 2017.9.14 HTML学习总结---超链接标签图片标签

    2.4 超链接标签 定义:它是指从一个对象指向另一个对象的指针,它可以是网页中的一段文字  也可以是一张图片,以实现从一个页面到另一个页面的跳转. 格式:<a href="url&qu ...

  5. c++ 读入和写入文件

    读入 #include<ifstream> ifstream infile; infile.open(img_dir); while(getline(infile,tmp)){ } 写入 ...

  6. Eclipse Python插件 PyDev

    PyDev for Eclipse 是一个功能强大且易用的 Eclipse Python IDE 插件.本文将向读者介绍 PyDev 开源项目及其安装配置方法,并在此基础上详细介绍如何利用 PyDev ...

  7. wordpress问题集锦

    1.内容不自动换行 找到对应的样式,添加如下代码,width根据具体情况修改. width:640px;white-space:normal;word-break:break-all;word-wra ...

  8. 关于css 中position使用的浅谈

    在css中有一种属性position.在W3C上我们可以找到他又一下几种属性:absolute.fixed.relative.static.inherit.但是position的使用却并不是简简单单的 ...

  9. 分布式系统session一致性问题

    一.引言 1.什么是session Session 是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理.最常见的,会把用户的登录信息.用户信息存储在 session 中,以保持登录状态. ...

  10. iso十款常用类库

    iso十款常用类库 MBProgressHUD(进展指示符库)   地址:https://github.com/jdg/MBProgressHUD   苹果的应用程序一般都会用一种优雅的,半透明的进度 ...