A. Subtle Substring Subtraction
给你一个字符串,Alice先手并取偶数长度的子串,Bob后手并取奇数长度的子串,问取完整个字符串谁的值最大,差值是多少
易知Alice一定会取最长的偶数子串,先特判一下字符串长度为1时Bob赢
然后如果是偶数长度就直接取完,否则判断一下第一个字符和最后一个字符谁大,留一个小的给Bob剩下的全部取完就行
/****************
*@description:for the Escape Project
*@author: Nebula_xuan
* @Date: 2022-04-30 22:39:31
*************************************************************************/
#include <iostream>
using namespace std;
const int N = 2e5 + 10;
int main()
{
int t;
cin >> t;
while (t--)
{
string a;
cin >> a;
if (a.size() == 1)
{
cout << "Bob ";
cout << a[0] - 'a' + 1;
}
else
{
cout << "Alice ";
long long sum = 0;
if (a.size() % 2)
{
if (a[0] > a[a.size() - 1])
{
for (int i = 0; i < a.size() - 1; i++)
sum += a[i] - 'a' + 1;
sum -= a[a.size() - 1] - 'a' + 1;
}
else
{
for (int i = 1; i < a.size(); i++)
sum += a[i] - 'a' + 1;
sum -= a[0] - 'a' + 1;
}
}
else
{
for (int i = 0; i < a.size(); i++)
sum += a[i] - 'a' + 1;
}
cout << sum