题解:P16108 「o.OI R-1」基础博弈练习题

分析

观察样例后发现,出题人给的数据都是答案为Ciallo~的数据,十分难受,所以自然想要去看看怎么才能得到答案为xwx的数据。

情况比较显然,当 nnn 全都严格小于 aia_iai 中最小值时,肯定先手会输。

接下来我们需要证明当且仅当该情况下输出为xwx

令 aia_iai 中的最小值为 aminaminamin 以方便后续证明。

当 n≥aminn \ge aminn≥amin 时,则先手必有可以取的方法,此时我们可以考虑先手从 nnn 中尽可能多的取 aminaminamin 可以发现这样做之后 nnn 中剩余部分肯定严格小于 aminaminamin 况且 aminaminamin 已经是 aia_iai 中最小的了,而按照我们的操作 nnn 中剩余部分还小于 aminaminamin 所以 aia_iai 中不存在可以给后手取的合法石子数量,到此先手已经必胜。

由此我们可以得出最终结论,只要满足 n≥aminn \ge aminn≥amin 即可输出Ciallo~。反之输出xwx

相关推荐
302wanger1 小时前
推荐下我的两个AI信息源
算法
索尔~古德曼1 小时前
CF——错题的集合
算法
fpcc1 小时前
计算机原理—构建过程中的分段分析
c++
xxwxx__1 小时前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
SL_staff1 小时前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
Escalating_xu1 小时前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
陌シ未央ゞ1 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
renhongxia11 小时前
数字孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·算法·机器学习·数字孪生
Navigator_Z1 小时前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode
bnmoel1 小时前
C++ 基础入门篇(三):内联函数与空指针
c++·内联函数·nullptr·低层