CF1673A.Subtle Substring Subtraction

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Subtle Substring Subtraction

题目描述

Alice 和 Bob 正在玩一个字符串游戏。游戏共进行 tt 轮。在每一轮中,会给出一个只包含小写英文字母的字符串 ss

Alice 先手,两人轮流操作。Alice 可以移除任意一个偶数长度(可以为空)的子串,Bob 可以移除任意一个奇数长度的子串。

更正式地说,若当前字符串为 s=s1s2sks = s_1s_2\ldots s_k,玩家可以选择一个长度为对应奇偶性的子串 slsl+1sr1srs_ls_{l+1}\ldots s_{r-1}s_r 并将其移除。移除后,字符串变为 s=s1sl1sr+1sks = s_1\ldots s_{l-1}s_{r+1}\ldots s_k

当字符串变为空时,本轮结束,每位玩家计算自己在本轮中移除的所有字符的得分。字符 a\texttt{a} 的分值为 11b\texttt{b} 的分值为 22c\texttt{c} 的分值为 33,以此类推,z\texttt{z} 的分值为 2626。得分高的玩家赢得本轮。对于每一轮,判断谁获胜,并输出胜者与败者分数的差。假设两人都采取最优策略以最大化自己的得分。可以证明不会出现平局。

输入格式

输入的第一行为一个整数 tt1t51041\leq t\leq 5\cdot 10^4),表示游戏轮数。

接下来的 tt 行,每行一个字符串 ss1s21051\leq |s|\leq 2\cdot 10^5),表示本轮使用的字符串。这里 s|s| 表示字符串 ss 的长度。

保证所有轮中字符串长度之和不超过 21052\cdot 10^5

输出格式

对于每一轮,输出一行,包含一个字符串和一个整数。如果 Alice 获胜,输出 "Alice";如果 Bob 获胜,输出 "Bob"。整数为胜者与败者分数的差值,假设两人都采取最优策略。

说明/提示

对于第一轮,$\texttt{"aba"}\xrightarrow{\texttt{Alice}}\texttt{"}{\color{red}{\texttt{ab}}}\texttt{a"}\xrightarrow{} \texttt{"a"}\xrightarrow{\texttt{Bob}}\texttt{"}{\color{red}{\texttt{a}}}\texttt{"}\xrightarrow{}\texttt{""}$。Alice 的总得分为 1+2=31+2=3,Bob 的总得分为 11

对于第二轮,$\texttt{"abc"}\xrightarrow{\texttt{Alice}}\texttt{"a}{\color{red}{\texttt{bc}}}\texttt{"}\xrightarrow{} \texttt{"a"}\xrightarrow{\texttt{Bob}}\texttt{"}{\color{red}{\texttt{a}}}\texttt{"}\xrightarrow{}\texttt{""}$。Alice 的总得分为 2+3=52+3=5,Bob 的总得分为 11

对于第三轮,$\texttt{"cba"}\xrightarrow{\texttt{Alice}}\texttt{"}{\color{red}{\texttt{cb}}}\texttt{a"}\xrightarrow{} \texttt{"a"}\xrightarrow{\texttt{Bob}}\texttt{"}{\color{red}{\texttt{a}}}\texttt{"}\xrightarrow{}\texttt{""}$。Alice 的总得分为 3+2=53+2=5,Bob 的总得分为 11

对于第四轮,$\texttt{"n"}\xrightarrow{\texttt{Alice}}\texttt{"n"}\xrightarrow{} \texttt{"n"}\xrightarrow{\texttt{Bob}}\texttt{"}{\color{red}{\texttt{n}}}\texttt{"}\xrightarrow{}\texttt{""}$。Alice 的总得分为 00,Bob 的总得分为 1414

对于第五轮,$\texttt{"codeforces"}\xrightarrow{\texttt{Alice}}\texttt{"}{\color{red}{\texttt{codeforces}}}\texttt{"}\xrightarrow{} \texttt{""}$。Alice 的总得分为 3+15+4+5+6+15+18+3+5+19=933+15+4+5+6+15+18+3+5+19=93,Bob 的总得分为 00

由 ChatGPT 4.1 翻译

样例

5
aba
abc
cba
n
codeforces
Alice 2
Alice 4
Alice 4
Bob 14
Alice 93

在线编程 IDE

建议全屏模式获得最佳体验