题目:

题目大意:输入n,k。两个人轮流选一个数x(1<=x<=max(1,n-k))减去n,若到一个人的回合n=0那么那个人失败。Kilani先手。

通过手动模拟几个实例,很容易发现先手基本都是胜利的。

如 n取10,k取2;

先手的取值范围是[1,8],这时x取8一定能获胜,因为当x=8时n=2,后手只能取1,一轮后,先手获胜。

n取10,k取3;

先手的取值范围是[1,7],这时x取6一定能获胜,因为当x=6时n=4,后手同样只能取1,此时n又是偶数,几轮下来先手获胜。

根据实例可以归纳出,只要先手取x使n为偶数并且n-k<=1,就必定获胜。

加以数学证明:

设x为先手必胜,所选取的数,所以

n-x-k<=1  ①

(n-x)%2=0  

①整理得 x>=n-k-1;

x∈[1,max(1,n-k)];

当n-k>1时,x∈[1,n-k];

取最大x=n-k;

所以 x<=n-k-1 恒成立;

x-1<=n-k-1 恒成立;

当n,k是偶数时(n-x)%2=0 成立

当n,k是奇数时(n-x)%2=0 成立

当n,k一奇一偶时(n-x-1)%2=0 成立

所以 当 n-k>1时 先手必胜

当n-k<=1时,x=1;

此时若n为偶则后手胜利,反之先手胜利;

AC代码:

#include<iostream>

using namespace std;

int main() {
int t, n, k;
int flag;
cin >> t;
while (t--) {
flag = ;
cin >> n >> k;
if ((n - k == )||(n-k==))
if(n % == )flag = ; if (flag)cout << "Kilani\n";
else cout << "Ayoub\n";
} }

【博弈论】Road to Arabella Gym - 102263B的更多相关文章

  1. Codeforces Gym 100425D D - Toll Road 找规律

    D - Toll RoadTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view ...

  2. GYM 101128 G.Game of Cards(博弈论) 或者 UVALIVE 7278

    题目链接:http://codeforces.com/gym/101128/my 如果可以,就看这个人的代码吧,我还不是很懂唉:http://blog.csdn.net/loy_184548/arti ...

  3. 边双连通缩点+树dp 2015 ACM Arabella Collegiate Programming Contest的Gym - 100676H

    http://codeforces.com/gym/100676/attachments 题目大意: 有n个城市,有m条路,每条路都有边长,如果某几个城市的路能组成一个环,那么在环中的这些城市就有传送 ...

  4. Codeforces Gym 2015 ACM Arabella Collegiate Programming Contest(二月十日训练赛)

    A(By talker): 题意分析:以a(int) op b(int)形式给出两个整数和操作符, 求两个整数是否存在操作符所给定的关系 ,有则输出true,无则输出false: 思路:由于无时间复杂 ...

  5. 【博弈论】【SG函数】【找规律】Gym - 101147A - The game of Osho

    以后这种题还是不能空想,必须打个表看看,规律还是比较好找的……具体是啥看代码.用SG函数暴力的部分就不放了. #include<cstdio> using namespace std; i ...

  6. Gym - 101972B Arabella Collegiate Programming Contest (2018) B. Updating the Tree 树DFS

    题面 题意:T组数据,每次给你1e5个点的树(1为根),每个点有一权值,询问1-n每个节点的子树中, 至少修改几个点的权值(每次都可以任意修改),才能让子树中任意2点的距离==他们权值差的绝对值 无解 ...

  7. Solution -「Gym 102979L」 Lights On The Road

    \(\mathcal{Description}\)   Link.   给定序列 \(\{w_n\}\),选择 \(i\) 位置的代价为 \(w_i\),要求每个位置要不被选择,要不左右两个位置至少被 ...

  8. Codeforces Gym 100114 H. Milestones 离线树状数组

    H. Milestones Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Descripti ...

  9. Gym 100952A&&2015 HIAST Collegiate Programming Contest A. Who is the winner?【字符串,暴力】

    A. Who is the winner? time limit per test:1 second memory limit per test:64 megabytes input:standard ...

随机推荐

  1. 最通俗易懂的RSA加密解密指导

    前言 RSA加密算法是一种非对称加密算法,简单来说,就是加密时使用一个钥匙,解密时使用另一个钥匙. 因为加密的钥匙是公开的,所又称公钥,解密的钥匙是不公开的,所以称为私钥. 密钥 关于RSA加密有很多 ...

  2. DataOutputStream是用来处理什么类型数据的

    FileOutputStream f=new FileOutputStream(new File("sa.txt")); DataOutputStream do=new DataO ...

  3. Docker Playgrounds

    上级:https://www.cnblogs.com/hackerxiaoyon/p/12747387.html Flink Operations Playground flink的操作场地,从这一小 ...

  4. Nginx之upstream的四种配置方式

    1.轮询(weight)   指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.默认当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务 ...

  5. P5676 [GZOI2017]小z玩游戏【Tarjan】

    小z玩游戏 Tarjan算是板子题吧,但是要稍微做一些修改,建边需要多考虑,建立"虚点". 题目描述 小 z 很无聊. 小 z 要玩游戏. 小 z 有\(N\)个新游戏,第\(i\ ...

  6. css3常见好看的投影效果_css3阴影box-shadow高大上用法

    在设计图会经常使用到的阴影效果,如何用css3来实现呢?这篇文章主要整理box-shadow的一些好看常用的投影效果. 1.曲面/椭圆投影效果: 代码如下: <style> .shadow ...

  7. CSS3+JS实现静态圆形进度条

    一.实现原理 首先,我们来一个圆(黑色).接着,再来两个半圆,将黑色的圆遮住.(为了演示,左右两侧颜色不一样)这时候,我们顺时针旋转右侧蓝色的半圆,下面的黑色圆就会暴露出来,比如我们旋转45度(12. ...

  8. requirejs之demo

    具体的理论就不讲了,可以参考 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html http://www.ruanyifeng.c ...

  9. yum仓库管理 yum-config-manager

    yum仓库管理 yum-config-manager   简介 # yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题. # yum 可以同时配置 ...

  10. 「疫期集训day3」要塞

    战友们正讨论着他们曾经参加过凡尔登战役的父亲...在黎明前我们必须誓死坚守----法乌克斯要塞中弹尽粮绝的法军士兵 什么!今天又考状压和tarjan! 达成成就:连续两天复习数论和二分图 康乐康,这次 ...