注意:本文的代码可以AC,但解释可能有误,思路仅供参考

Description
Cly很喜欢博弈,这天他和他的分身DD_BOND玩起了一个博弈游戏(本体当然是先手了),游戏规则如下,请你判断谁能赢得游戏。
最初有一个数字n,每次操作可以选择一个数字x满足0<x<n,且n%x==0,接着用n-x替换原本数字,谁不能操作谁就输了。
对于每次询问如果先手能赢,你需要告诉cly第一步能选择的最大x是什么,为了方便起见,你最后只需要告诉他所有询问x的和就行了。

Input
第一行查询数字q (1<=q<=1e5)
接下来q行每行输入一个数字n (1<=n<=1e5)

Output
对于每次查询如果先手胜,输出clynb,否则输出DD_BONDNB
最后输出一个和sum

Sample Input
【样例1输入】

1
1

【样例2输入】

1
2

Sample Output
【样例1输出】

DD_BONDNB
0

【样例2输出】

clynb
1

题目分析:
选择x∈(0,n),使n%x==0,然后n-=x,找不到这个x(不能操作)为输

假设n=1
第①步不能操作,先手输

假设n=2
①只能选择x=1n=2-1=1(到假设n=1
②不能操作,先手赢

假设n=3
①只能选择x=1n=3-1=2(到假设n=2
②只能选择x=1n=2-1=1
③不能操作,先手输

假设n=4
①如果选择x=1n=4-1=3(到假设n=3
②只能选择x=1n=3-1=2
③只能选择x=1n=2-1=1
④不能操作,先手赢

①如果选择x=2n=4-2=2(到假设n=2
②只能选择x=1n=2-1=1
③不能操作,先手输

可以再往下分析,得出结论:

如果先手可以使 n=1, 那么先手赢

奇数=1*奇数*······*奇数 偶数=1*(2^n)*(奇数 或 1)

n=n-x

所以

奇数只能变为偶数 偶数可以选择让它变为奇数

要使n=n-x=1n原来必然为偶数
所以

先手遇到偶数必赢,否则必输

所以

如果(输入的值为偶数),判负 否则,第一步可选的最大x为n的最大奇因数

代码如下:

#include<iostream>
#include<cstdio>
using namespace std;
int main(){int q,n,sum=0;cin>>q;while(q--){scanf("%d",&n);//使用cin会TLE if(n%2==1) cout<<"DD_BONDNB\n";else{cout<<"clynb\n";while(n%2==0)n/=2;//n除以2,直到n为奇数 sum+=n;}}cout<<sum;return 0;
}

2020年浙江理工大学新生赛 B Cly的博弈相关推荐

  1. 2020年浙江理工大学新生赛 C Cly的三角形

    Description Cly很喜欢三角形,有一天他遇到了一道和三角形有关的题,但是这道题他简单了,他懒得做,于是交给了你. 给定一个数组,每次询问一个子区间,如果能从这个子区间挑出三个数组成三角形输 ...

  2. 2020年浙江理工大学新生赛 D DD_BOND看到的hcy

    签到题 Description 一般来说,从这个角度来看,问题的关键究竟为何?这样看来,我认为,一般来说, 要想清楚,hcy到底是一种怎么样的存在.经过上述讨论,经过上述讨论,带着这些问题,我们来审视 ...

  3. 2020年浙江理工大学新生赛 E DD_BOND买赛博朋克2077

    注意:本文还处于 EA 阶段,亟待修正和完善 最后一次更新时间:2021/11/10 20:55 注意:本文的代码可以AC,但解释可能有误,思路仅供参考 动态规划+线段树 参考: https://bl ...

  4. 2021浙江理工大学新生赛被毒打记录

    Problem A: nudun故事集之ATM出的线段树 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 367  Solved: 16 Descrip ...

  5. 2021年浙江理工大学新生赛同步赛

    Problem K: nudun故事集之约会 Description 题目背景 时隔多年,赚了不少达不溜的zmw想要来一场甜甜的恋爱,于是乎他找到了万能的nudun.在情场高手mk23ez66的介绍下 ...

  6. 2017哈尔滨理工大学新生赛

    A: 仔细读题ORZ A.涂山红十字会 Time Limit: 1000 MS Memory Limit: 256000 K Total Submit: 1121 (338 users) Total ...

  7. 2020年浙江理工大学计算机考研经验分享

    首先,作为一名二本高校的学生,通常在考试准备中或多或少的存在一些自卑感,不敢大胆选择自己心仪的学校,因为毕竟考试只是一部分,后面还有面试选导师等各种乱七八糟的一系列事情等着你们(往往这些环节刷掉了一部 ...

  8. [SUCTF2018]babyre [ACTF新生赛2020]fungame

    文章目录 [SUCTF2018]babyre 惯用思维 常人思维 GAMEOVER [ACTF新生赛2020]fungame int __cdecl sub_401340(int a1) int __ ...

  9. BUU [ACTF新生赛2020]Universe_final_answer

    [ACTF新生赛2020]Universe_final_answer 首先查壳, 64bit 无壳 ida64位打开 main() __int64 __fastcall main(int a1, ch ...

最新文章

  1. oracle 杀死过程,ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句
  2. 【C 语言】文件操作 ( 使用 fread 和 fwrite 实现二进制文件的拷贝 | stat 统计文件大小 | feof 判定文件结尾 )
  3. Oracle之索引、权限
  4. 第20天学习Java的笔记-static静态
  5. python 关键字大全_一日一技:用实例列举python中所有的关键字(01)
  6. .NET 也有 Husky 了
  7. JQuery 对表单进行初始化操作
  8. 安装串口设备驱动时遇到 Windows 无法验证此设备所需的驱动程序的数字签名。最近的硬件或软件更改安装的文件可能未正确签名或已损坏,或者可能是来自未知来源的恶意软件. 问题该如何处理?...
  9. .net oracle 参数化,.NET参数化Oracle查询参数
  10. iframe的onload在Chrome/Opera中执行两次Bug
  11. [性能优化]UITableView性能优化的一点感悟及计算UILabel高度的新方法 1
  12. 1 MySQL 主从同步
  13. SpringMVC表单标签
  14. php文章上一篇,thinkphp5实现文章上一篇,下一篇
  15. 将类实现分开以及代码块
  16. 况客:Campisi债券业绩归因模型
  17. Java 常见的面试题(反射)
  18. 吉林大学超星学习通06 07 08
  19. 线性相位FIR数字滤波器的时域和频域特性
  20. w10运行游戏计算机中丢失xinput1-3.dll,win10游戏缺少xinput1_3.dll如何修复_win10电脑找不到xinput1_3.dll怎么解决...

热门文章

  1. 标称型和数值型的区别
  2. 矩阵求逆操作的复杂度分析(逆矩阵的复杂度分析)
  3. MATLAB多径衰落信道仿真程序,基于Matlab的移动通信中多径衰落信道的仿真
  4. Win10系统通用串行总线(USB驱动损坏)的一种解决方法
  5. 图文混排模板HTML
  6. idea构建gradle项目报错Could not target platform: ‘Java SE 14‘ using tool chain: ‘JDK 8 (1.8)‘.
  7. 计算机毕业设计之 医院管理系统
  8. Python学习笔记 - Python数据类型
  9. Apad Qzone项目总结(一)---发布!!!
  10. Java 汉字转换为拼音字符串