309398: CF1673A. Subtle Substring Subtraction

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Subtle Substring Subtraction

题意翻译

现在有一个字符串,Alice 可以先将其中连续且长度为偶数的子串取出,并得到对应分值。然后 Bob 可以取出其中长度为奇数的子串。 定义 $a$ 的分值为 $1$,$b$ 的分值为 $2$,以此类推。一个子串的分值就是组成其所有字符的分值之和。 现在有 $t$ 组数据,请你求出在最优策略下谁会赢,并输出分值之差。

题目描述

Alice and Bob are playing a game with strings. There will be $ t $ rounds in the game. In each round, there will be a string $ s $ consisting of lowercase English letters. Alice moves first and both the players take alternate turns. Alice is allowed to remove any substring of even length (possibly empty) and Bob is allowed to remove any substring of odd length from $ s $ . More formally, if there was a string $ s = s_1s_2 \ldots s_k $ the player can choose a substring $ s_ls_{l+1} \ldots s_{r-1}s_r $ with length of corresponding parity and remove it. After that the string will become $ s = s_1 \ldots s_{l-1}s_{r+1} \ldots s_k $ . After the string becomes empty, the round ends and each player calculates his/her score for this round. The score of a player is the sum of values of all characters removed by him/her. The value of $ \texttt{a} $ is $ 1 $ , the value of $ \texttt{b} $ is $ 2 $ , the value of $ \texttt{c} $ is $ 3 $ , $ \ldots $ , and the value of $ \texttt{z} $ is $ 26 $ . The player with higher score wins the round. For each round, determine the winner and the difference between winner's and loser's scores. Assume that both players play optimally to maximize their score. It can be proved that a draw is impossible.

输入输出格式

输入格式


The first line of input contains a single integer $ t $ ( $ 1\leq t\leq 5\cdot 10^4 $ ) denoting the number of rounds. Each of the next $ t $ lines contain a single string $ s $ ( $ 1\leq |s|\leq 2\cdot 10^5 $ ) consisting of lowercase English letters, denoting the string used for the round. Here $ |s| $ denotes the length of the string $ s $ . It is guaranteed that the sum of $ |s| $ over all rounds does not exceed $ 2\cdot 10^5 $ .

输出格式


For each round, print a single line containing a string and an integer. If Alice wins the round, the string must be "Alice". If Bob wins the round, the string must be "Bob". The integer must be the difference between their scores assuming both players play optimally.

输入输出样例

输入样例 #1

5
aba
abc
cba
n
codeforces

输出样例 #1

Alice 2
Alice 4
Alice 4
Bob 14
Alice 93

说明

For the first round, $ \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's total score is $ 1+2=3 $ . Bob's total score is $ 1 $ . For the second round, $ \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's total score is $ 2+3=5 $ . Bob's total score is $ 1 $ . For the third round, $ \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's total score is $ 3+2=5 $ . Bob's total score is $ 1 $ . For the fourth round, $ \texttt{"n"}\xrightarrow{\texttt{Alice}}\texttt{"n"}\xrightarrow{} \texttt{"n"}\xrightarrow{\texttt{Bob}}\texttt{"}{\color{red}{\texttt{n}}}\texttt{"}\xrightarrow{}\texttt{""} $ . Alice's total score is $ 0 $ . Bob's total score is $ 14 $ . For the fifth round, $ \texttt{"codeforces"}\xrightarrow{\texttt{Alice}}\texttt{"}{\color{red}{\texttt{codeforces}}}\texttt{"}\xrightarrow{} \texttt{""} $ . Alice's total score is $ 3+15+4+5+6+15+18+3+5+19=93 $ . Bob's total score is $ 0 $ .

Input

题意翻译

现在有一个字符串,Alice 可以先将其中连续且长度为偶数的子串取出,并得到对应分值。然后 Bob 可以取出其中长度为奇数的子串。 定义 $a$ 的分值为 $1$,$b$ 的分值为 $2$,以此类推。一个子串的分值就是组成其所有字符的分值之和。 现在有 $t$ 组数据,请你求出在最优策略下谁会赢,并输出分值之差。

加入题单

上一题 下一题 算法标签: