HDU 3951 (博弈) Coin Game

先考虑两种简单的情况:

  • 如果先手能一次把硬币拿完,即 k >= n ,那么先手胜
  • 如果每次只能拿一个硬币, 即 k = 1 ,那么如果有奇数个硬币先手胜,如果有偶数个硬币后手胜。

剩下的情况就是先手一次拿不完,而且每次可以拿一个或者拿两个硬币。

剩下的硬币会变成一条链,如果后手能拿完最好,不能拿完的话就拿一个或两个硬币使这条链变成长度相等的两条。

这一定是能做到的,

因为如果这条链有奇数个硬币,那么拿走中间的那个;

如果有偶数个硬币,拿走中间的两个。

变成相等的两条链之后,先手在哪条链拿走多少个硬币,后手就在另外一条链中拿走同样的硬币,直到拿完所有的硬币。

因此后手必胜。

 1 #include <cstdio>
 2 
 3 int main()
 4 {
 5     //freopen("in.txt", "r", stdin);
 6 
 7     int T; scanf("%d", &T);
 8     for(int kase = 1; kase <= T; kase++)
 9     {
10         int n, k;
11         scanf("%d%d", &n, &k);
12         printf("Case %d: ", kase);
13         bool first;
14         if(k == 1) first = n & 1 ? true : false;
15         else if(k >= n) first = true;
16         else first = false;
17         printf("%s\n", first ? "first" : "second");
18     }
19 
20     return 0;
21 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4462937.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)

实现顺序表的插入&#xff0c;删除&#xff0c;查找&#xff0c;输出操作在C语言中经常用到。下面小编给大家整理实现代码&#xff0c;一起看下吧代码如下所示&#xff1a;#includeusing namespace std;#define MAXSIZE 15typedef int DataType;typedef struct{DataType data[M…

Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态

一、目标 1、根据service是否在后台运行情况来确定CheckBox的选中状态&#xff1b; 2、解决"设置中心"的“开启来电号码显示归属地”功能在退出程序再进入时选中状态消失&#xff0c;在任务管理器中关闭“来显”服务时&#xff0c;功能仍为选中状态 二、代码实现 1、…

HTTP - PUT 上传文件/Shell

今天遇到几个PUT上传的点&#xff0c;但是都没利用起来。一怒之下&#xff0c;在自己本地试了一下。步骤如下&#xff1a; 一、环境&#xff1a; 首先&#xff0c;根据 配置Apache服务器支持向目录PUT文件 更新一下httpd.conf文件&#xff0c;重启所有服务。 二、HTTP - PUT PU…

Pro Android学习笔记(三三):Menu(4):Alternative菜单

什么是Alternative menu&#xff08;替代菜单&#xff09; 举个例子&#xff0c;Activity显示一个文本文件。如果用户想对文本文件进行编辑&#xff0c;Activity不提供编辑能力&#xff0c;但可由其他activity或者其他应用提供。我们将相关信息存储在一个intent中&#xff0c;例…

java实现手机开关机_Android 系统重启与关机:Java 代码实现

粘贴一篇关于权限的文章&#xff1a;最近在做个东西&#xff0c;巧合碰到了sharedUserId 的问题&#xff0c;所以收集了一些资料&#xff0c;存存档备份。安装在设备中的每一个apk文件&#xff0c;Android 给每个 APK 进程分配一个单独的用户空间,其 manifest 中的 userid 就是…

java数据类型的站位_Java 数据类型在实际开发中应用

在前边的文章中&#xff0c;我已经介绍了Java核心的容器IO等&#xff0c;现在我来说一下java中的数据类型。在java中&#xff0c;一切东西皆为对象(这句话意思是java中绝大数情况都用对象)&#xff0c;极少数不是对象的&#xff0c;也存在与之对应的对象(比如基本数据类型存在与…

java amf3_Java AMF3 反序列化漏洞分析

写在前面的话AMF(Action Message Format)是一种二进制序列化格式&#xff0c;之前主要是Flash应用程序在使用这种格式。近期&#xff0c;Code White发现有多个Java AMF库中存在目前&#xff0c;漏洞相关信息已上报至美国CERT(详情请参考美国CERT VU#307983)概述目前&#xff0c…

php修改js内容,js怎样修改html元素的内容?HTML DOM实现修改内容

js怎样修改html元素的内容&#xff1f;本章就给大家介绍在js中利用HTML DOM是怎样修改html元素内容的。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你们有所帮助。首先我们要了解HTML DOM是什么&#xff1f;HTML DOM的作用是什么&#xff1f;HTML…

java中的删除函数的使用方法,如何用Java删除文件

本文概述有两种删除Java文件的方法&#xff1a;使用File.delete()方法使用File.deleteOnExit()方法Java File.delete()方法在Java中, 我们可以使用File类的File.delete()方法删除文件。 delete()方法删除由抽象路径名表示的文件或目录。如果路径名是目录, 则该目录必须为空才能…

C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实现

C#开发微信门户及应用(28)--微信“摇一摇周边”功能的使用和接口的实现 原文:C#开发微信门户及应用(28)--微信“摇一摇周边”功能的使用和接口的实现”摇一摇周边“是微信提供的一种新的基于位置的连接方式。用户通过“摇一摇”的“周边”页卡&#xff0c;可以与线下商户进行互…

【计算几何】点在多边形内部

问题描述&#xff1a;已知点P(x,y)和多边形Poly&#xff0c;判断点P(x,y)是否在多边形内部。 基本方法&#xff1a;射线法 以点P为端点&#xff0c;向左方作射线L&#xff0c;由于多边形是有界的&#xff0c;所以射线L的左端一定在多边形外部&#xff0c;考虑沿着L从无究远处开…

Hungary(匈牙利算法)——二分图最大匹配

在复习匈牙利算法的时候&#xff0c;发现这么一篇介绍匈牙利算法的文章&#xff0c;非常通俗易懂&#xff0c;所以就借鉴过来了。 复杂度&#xff1a;邻接矩阵&#xff1a;O&#xff08;v^3&#xff09;邻接表&#xff1a;O&#xff08;V*E&#xff09; 附上链接&#xff1a;趣…

白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)...

转自&#xff1a;http://wenda.tianya.cn/wenda/thread?tid758a1e447e62b7df&hlja 白盒测试作为测试人员常用的一种测试方法&#xff0c;越来越受到测试工程师的重视。白盒测试并不是简单的按照代码设计用例&#xff0c;而是需要根据不同的测试需求&#xff0c;结合不同的…

matlab getsplitpic,MATLAB_9-模式识别笔记

1&#xff0c;识别单独字符的&#xff1a;思想&#xff1a;picsize[20,10];创建一个矩阵&#xff0c;将两个照片整理成大小一致的。具体就是使用后面的&#xff1a;aimresize(a,picsize);fontsABCDEFGHNVJXSMQ;建立字符串用于匹配输出(就是识别的功能&#xff01;)下面一个for循…

浅谈android4.0开发之GridLayout布局

作者:李响 本文重点讲述了自android4.0版本号后新增的GridLayout网格布局的一些基本内容&#xff0c;并在此基础上实现了一个简单的计算器布局框架。通过本文&#xff0c;您可以了解到一些android UI开发的新特性&#xff0c;并可以实现相关应用。 在android4.0版本号之…

ThinkPHP---RBAC

一、什么是RBAC 基于角色的访问控制&#xff08;Role-Based Access Control&#xff09;作为传统访问控制&#xff08;自主访问&#xff0c;强制访问&#xff09;的有前景的代替受到广泛的关注。 在RBAC中&#xff0c;权限与角色相关联&#xff0c;用户通过成为适当角色的成员而…

c mysql bulk,MySqlBulkLoader批量上传遇到的问题和解决方法

最近用 MySqlBulkLoader 向MySql数据库批量上传数据遇到了些问题&#xff0c;做下记录问题1&#xff1a;如图原因&#xff1a;版本不合&#xff0c;使用的MySql版本和引用的mysql.data 版本不和解决方案&#xff1a;用nuget将mysql.data升级到对应版本&#xff0c;如果是MySql8…

验证必须是数字php,Element 中表单非必填数据项 必须为数字的验证问题

Element-ui 的el-form组建中&#xff0c;自带基本的验证功能&#xff0c;比如某些项必填的验证&#xff0c;直接加入rules 规则中即可&#xff0c;如下实例&#xff1a;在页面中书写如下&#xff1a;在vue 初始化data中filterForm: {firstDay: ,lastDay: },rules: {firstDay: […

为开发者准备的9个实用PHP代码片段(转)

[导读] 当你开发网站、app或博客系统时&#xff0c;如果有一些实用的代码片段可以直接使用&#xff0c;就可以节省你大量的时间和精力。这篇文章就为你分享几个实用的PHP代码片段&#xff0c;帮助你的Web开发。 本文由PHP100中文网编译&#xff0c;转载请看文末的转载要求&…

idea 自动生产序列吗,IDEA自动生成序列化Id

实体对象实现了java.io.Serializable接口后&#xff0c;一般都会提供一个serialVersionUID以做版本区分。在idea里&#xff0c;可以通过设置来快速生成serialVersionUID。设置方法1、打开Preferences–>Editor–>Inspections&#xff0c;然后在右侧输入UID进行搜索(搜索方…