codechef AUG17 T4 Palindromic Game
Posted 友人A
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codechef AUG17 T4 Palindromic Game相关的知识,希望对你有一定的参考价值。
Palindromic Game Problem Code: PALINGAM
There are two players A, B playing a game. Player A has a string s with him, and player B has string t with him. Both s and t consist only of lower case English letters and are of equal length. A makes the first move, then B, then A, and so on alternatively. Before the start of the game, the players know the content of both the strings s and t.
These players are building one other string w during the game. Initially, the string w is empty. In each move, a player removes any one character from their respective string and adds this character anywhere (at any position) in the string w. If at any stage of the game, the string w is of length greater than 1 and is a palindrome, then the player who made the last move wins.
If even after the game finishes (ie. when both s and t have become empty strings), no one is able to make the string w a palindrome, then player B wins.
Given the strings s, and t, find out which of A, B will win the game, if both play optimally.
Input
- The first line of the input contains an integer T, corresponding to the number of test cases. The description of each testcase follows.
- The first line of each testcase will contain the string s.
- The second line of each testcase will contain the string t.
Output
For each test case, output "A" or "B" (without quotes) corresponding to the situation, in a new line.
Constraints
- Subtask 1 (20 points) : 1 ≤ T ≤ 500, All characters of string s are equal, All characters of string t are equal. 1 ≤ |s| = |t| ≤ 500
- Subtask 2 (80 points) : 1 ≤ T ≤ 500, 1 ≤ |s| = |t| ≤ 500
Example
Input: 3 ab ab aba cde ab cd Output: B A B
Explanation
Testcase 1: If A adds ‘a‘ to w in the first move, B can add ‘a‘ and make the string w = "aa",
which is a palindrome,and hence win. S
imilarly, you can show that no matter what A plays, B can win.Hence the answer is B.
Testcase 2: Player A moves with ‘a‘, player B can put any of the character ‘c‘, ‘d‘ or ‘e‘, Now Player A can create a palindrome by adding ‘a‘.
Testcase 3: None of the players will be able to make a palindrome of length > 1. So B will win.
—————————————————————————————————————————————
这道题就是有两个人A和B 他们每个人有一个串
(A先起手)每次一个人人能拿出自己串中剩余的字母中的一个加入现有串C的左边或者右边
当C变成一个回文串的时候游戏结束 使这个串变成回文串的一方胜利
我们考虑A起手 如果他下了一个B有的字母 那么无疑B会胜利
如果他下了一个B没有的字母 且这个字母他有两个 那么他一定胜利
不然 如果B下的这个字母A有那么A会胜利 不然不论如何下这个串都不会成为回文串
那么平局下 按提议B会胜利
以上是关于codechef AUG17 T4 Palindromic Game的主要内容,如果未能解决你的问题,请参考以下文章
codechef AUG17 T2 Chef and Mover
codechef AUG17 T1 Chef and Rainbow Array