首页 > 试题广场 >

不连续的巴什博弈

[编程题]不连续的巴什博弈
  • 热度指数:56 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}Alice 和 Bob 怎么还没放过这几个可怜的小石子......
\hspace{15pt}给定 n 个石子和集合 S = \{p_1, p_2, \ldots, p_k\} (k \in \mathbb{Z}^+),双方轮流进行操作,每次操作流程如下:
{\hspace{20pt}}_\texttt{1.}\, 设当前石子总数为 t,若集合 S 中任意一个元素都大于 t则该轮行动的玩家立即 输掉 这场游戏。
{\hspace{20pt}}_\texttt{2.}\,从集合 S 中任选一个不超过 t 的元素 x然后必须从石堆中取走 x 个石子

\hspace{15pt}Alice 想知道,如果自己先手,且自己和 Bob 都采取最优策略,最终谁能获胜?

输入描述:
\hspace{15pt}输入的第一行包含两个正整数 n,k\left(1 \leqq k \leqq n\leqq 10^5\right),分别表示石子的总数和集合的大小。
\hspace{15pt}输入的第二行包含 k 个正整数,表示集合 S 中的各个元素


输出描述:
\hspace{15pt}如果 Alice 在最优策略下能够赢得游戏,请输出 \texttt{Alice};否则输出 \texttt{Bob}
示例1

输入

5 1
1

输出

Alice
发表于 2025-12-20 21:28:58 回复(0)