CF1220C.Substring Game in the Lesson

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Mike 和 Ann 坐在教室里。课程很无聊,于是他们决定玩一个有趣的游戏。幸运的是,他们只需要一个字符串 ss 和一个数字 kk(0≤k<∣s∣0 \le k < |s|)就可以开始游戏。

游戏开始时,玩家会得到 ss 的一个子串,其左边界 ll 和右边界 rr 都等于 kk(即初始时 l=r=kl=r=k)。然后,玩家轮流按照以下规则进行操作:

  • 玩家选择 l′l^{\prime} 和 r′r^{\prime},使得 l′≤ll^{\prime} \le l,r′≥rr^{\prime} \ge r,并且 s[l′,r′]s[l^{\prime}, r^{\prime}] 在字典序上小于 s[l,r]s[l, r]。然后玩家将 ll 和 rr 更新为 l:=l′l := l^{\prime},r:=r′r := r^{\prime}。
  • Ann 先手。
  • 不能进行操作的玩家判负。

回忆一下,字符串 s[l,r]s[l, r](l≤rl \le r)是字符串 ss 的一个子串,表示从位置 ll 到 rr 的连续字母。例如,"ehn" 是 "aaaehnsvz" 的一个子串(s[3,5]s[3, 5]),而 "ahz" 不是。

Mike 和 Ann 玩得太投入了,以至于没有注意到老师走近了他们。令人惊讶的是,老师没有批评他们,反而说他可以在游戏开始前,仅凭 ss 和 kk 就能判断谁会获胜。

不幸的是,Mike 和 Ann 并不擅长博弈论,于是他们请求你写一个程序,输入 ss,输出对于所有可能的 kk,谁会获胜。

输入格式

输入的第一行包含一个字符串 ss(1≤∣s∣≤5⋅1051 \leq |s| \leq 5 \cdot 10^5),仅由小写英文字母组成。

输出格式

输出 ∣s∣|s| 行。

第 ii 行输出在字符串 ss 和 k=ik=i 的情况下,若双方都采取最优策略,游戏的获胜者(输出 Mike 或 Ann)。

输入输出样例

  • 输入#1

    abba

    输出#1

    Mike
    Ann
    Ann
    Mike
  • 输入#2

    cba

    输出#2

    Mike
    Mike
    Mike

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页