传送门

先考虑只能走 $1,2$ 步的情况,设 $p[i]$ 表示当 $n=i$ 时先手是否必胜

自己手玩一下发现 $p$ 就是 $011011011...011$ 这样循环(下标从 $0$ 开始,其中 $1$ 表示先手必胜)

然后发现当 $K$ 不是 $3$ 的倍数时,对 $p$ 没有影响,因为一个必败局面仍然只能到达必胜局面,必胜局面仍然可以到达必败局面

然后考虑 $K$ 为 $3$ 的倍数时,那么 $p[K]$ 就从 $0$ 变成了 $1$,之后从 $p[K+1]$ 开始又是一段 $011011...011$ 直到 $p[2K]$

所以根据找到的规律判断即可

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long ll;
inline int read()
{
int x=,f=; char ch=getchar();
while(ch<''||ch>'') { if(ch=='-') f=-; ch=getchar(); }
while(ch>=''&&ch<='') { x=(x<<)+(x<<)+(ch^); ch=getchar(); }
return x*f;
}
int main()
{
int Q,n,m;
Q=read();
while(Q--)
{
n=read(),m=read();
if(m%||n<m) { if(n%) printf("Alice\n"); else printf("Bob\n"); continue; }
if(n==m) { printf("Alice\n"); continue; }
if(n%(m+)==m) printf("Alice\n");
else if((n%(m+))%) printf("Alice\n");
else printf("Bob\n");
}
return ;
}

Codeforces 1194D. 1-2-K Game的更多相关文章

  1. Codeforces Gym 100610 Problem K. Kitchen Robot 状压DP

    Problem K. Kitchen Robot Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10061 ...

  2. Codeforces - 1194D - 1-2-K Game - dp

    https://codeforc.es/contest/1194/problem/D 打个n=30的表好像看出了规律. 其实假设k==3,那么 sg[0]=0, sg[1]=mex{sg[0]}=1, ...

  3. Codeforces Gym100495 B、D、E、F、K

    http://codeforces.com/gym/100495 K题 草地的面积减去相交的面积,计算几何,垃圾题,避免不必要的计算损失精度(能约分的约分) 卡了老子一个星期了 再加前几天的一道题 这 ...

  4. Codeforces Problem 708A Letters Cyclic Shift

     题目链接: http://codeforces.com/problemset/problem/708/A 题目大意: 从字符串s中挑选出一个子串(非空),将该子串中的每个字母均替换成前一个字母,如' ...

  5. [短期持续更新]Codeforces 构造题一览

    说实话我觉得做这种题很没意思(不够硬核), 可是人有短板终究是要补的...起码这种类型补起来相对简单 所以还是把先前准备好的专题放下吧,做点实现上比较休闲的题 ps.为了精简篇幅,代码全部丢到ubun ...

  6. Codeforces Global Round 8 B. Codeforces Subsequences(构造)

    题目链接:https://codeforces.com/contest/1368/problem/B 题意 构造最短的至少含有 $k$ 个 $codeforces$ 子序列的字符串. 题解 如下表: ...

  7. 2018省赛赛第一次训练题解和ac代码

    第一次就去拉了点思维很神奇的CF题目 2018省赛赛第一次训练 # Origin Title     A CodeForces 607A Chain Reaction     B CodeForces ...

  8. 2019-2020 10th BSUIR Open Programming Championship. Semifinal

    2019-2020 10th BSUIR Open Programming Championship. Semifinal GYM链接https://codeforces.com/gym/103637 ...

  9. django模型操作

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表        

随机推荐

  1. python3精品解析运算符

    算数运算符 +:两个对象相加 -:得到负数或者,或者一个数减去另一个数 *:两个数相乘或者是返回一个被重复若干次的字符串 /:5/2等于2.1 5//2=2(/有余数,//取整) %:取模(5%2=1 ...

  2. windos批处理启动redis与哨兵

    为各个启动单独建立脚本后用总的bat调用 创建脚本,redis6379.bat脚本内容:@echo offtitle redis-serverset ENV_HOME6379="G:\Red ...

  3. 四、使用jsonpath-JSON Extractor提取复杂响应中的数组及其他字段

    一.jsonpath实时调试url http://jsonpath.com/ 二.对于复杂响应的提取字段 1.json字符串如下: { "code": 0, "data& ...

  4. Haskell 安装

    1.Ubuntu 安装过程中出现了一些问题: 1)W: An error occurred during the signature verification. The repository is n ...

  5. Python3 matplotlib.pyplot 中文乱码 多个直线图 添加图例

    #import之后 font = { 'family' : 'SimHei' } matplotlib.rc('font', **font) # -*- coding:utf-8 -*- import ...

  6. centos6密钥验证

    密钥验证: 公钥(服务器上)私钥(客户端)在远程登录软件上可生成SSH密钥对.在服务器上建目录.SSH 再在其中建文件authorized_keys,复制公钥到服务器上此文件中. (1)selinux ...

  7. Jmeter之集合点

    Jmeter之集合点 Jmeter中也有集合点,看样子还是很强呀 哇哈哈 它只是通过计时器Synchronizing Timer实现的假集合点功能. 没有时间整理,来实际的,直接上图. 在线程下添加集 ...

  8. Session中的方法概述

    一.操作实体对象 delete()把持久化或游离转为删除状态 save()把临时状态变为持久化状态(交给Sessioin管理) saveOrUpdate()把临时或游离状态转为持久化状态 update ...

  9. CentOS 升级至指定版本

    CentOS系统下用yum upgrade命令只能升级到最新版本,CentOS仓库并不维护历史版本,所以只能使用 vault.centos.org 历史版本快照进行更新.本文以将7.0.1406升级到 ...

  10. 利用SQL语句查找某数据库中所有存储过程包含的内容(转)

    Use 数据库DECLARE @ProcName varchar(50)Create Table #tmpName(Content  varchar(2000))Create Table #tmp(P ...