策略题

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. mongodb在C#的连接以及curd写法

    连接数据库:参考地址:https://blog.oz-code.com/how-to-mongodb-in-c-part-2/ // Empty ctor will get you a // clie ...

  2. Laplace算子和Laplacian矩阵

    1 Laplace算子的物理意义 Laplace算子的定义为梯度的散度. 在Cartesian坐标系下也可表示为: 或者,它是Hessian矩阵的迹: 以热传导方程为例,因为热流与温度的梯度成正比,那 ...

  3. Python的socket编程

    我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要 ...

  4. Git工作流指南:功能分支工作流(转)

    一旦你玩转了集中式工作流,在开发过程中可以很简单地加上功能分支,用来鼓励开发者之间协作和简化交流. 功能分支工作流背后的核心思路是所有的功能开发应该在一个专门的分支,而不是在master分支上.这个隔 ...

  5. java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(多线程编程之一)

    今天开始就来总结一下Java多线程的基础知识点,下面是本篇的主要内容(大部分知识点参考java核心技术卷1): 1.什么是线程以及多线程与进程的区别 2.多线程的创建与启动 3.中断线程和守护线程以及 ...

  6. Ubuntu 下安装GIMP

    1.Add GIMP PPA Open terminal from Unity Dash, App launcher, or via Ctrl+Alt+T shortcut key. When it ...

  7. Redis 持久化操作

    hash类型 类比:mysql数据库存储数据 持久化操作 以本身的数据以文件形式保存到硬盘中 手动快照持久化 i 备份机制(频率) vi redis.conf save 900 1  900s如果一个 ...

  8. PHP生成特定长度的纯字母字符串

    PHP中,md5().uniqid()函数可以返回32位和13位不重复的字符串,但是这些字符串都可能包含有数字.如果需要纯字母的字符串,而且长度不定,比如8位,那么直接用这两个函数无法达到效果. 这时 ...

  9. Linux系统Mini版配置相关

    一:修改ip 编辑:vi /etc/sysconfig/network-sc/ifcfg-eth0 配置如下图:

  10. 模块pandas

    python之pandas简单介绍及使用(一) https://www.cnblogs.com/misswangxing/p/7903595.html