编程题
### 问题描述 给定两个字符串 $s_1$ 和 $s_2$,小红和小蓝可以轮流对字符串 $s_1$ 进行操作。每次他们可以从以下两种操作中任选一种: - 将字符串 $s_1$ 进行翻转。 - 将当前字符串 $s_1$ 的最后一位删除。 现在小红希望字符串从 $s_1$ 变成 $s_2$,而小蓝不希望字符串 $s_1$ 能够变成 $s_2$。由小红先手,在两人均采取最优策略的前提下,如果小红的目的可以达到,则输出 `red`;反之,如果小蓝的目的可以达到,则输出 `blue`。 ### 输入格式 第一行输入一个正整数 $t$,表示测试用例组数。($1\le t\le 10^4$)。 对于每组测试数据: 第一行输入两个正整数 $n,m$,表示字符串 $s_1,s_2$ 的长度。($1\le n,m\le 10^5$)。 第二行输入字符串 $s_1$。 第三行输入字符串 $s_2$。 数据保证 $1\le \sum_{i=1}^{t}n_i\le 10^5,1\le \sum_{i=1}^{t}m_i\le 10^5$。且字符串 $s_1,s_2$ 所有字符均为小写字母。 ### 输出格式 对于每组测试数据: 在二人已最优策略进行操作的前提下,如果小红的目的可以达到,则输出 `red`,反之,如果小蓝的目的可以达到,则输出 `blue`。 ### 样例输入 ```text 3 3 5 abc abbbc 1 1 a a 5 1 aabaa b ``` ### 样例输出 ```text blue red blue ``` ### 说明 对于第一组测试数据:$|s1|<|s2|$,小红一定不可能成功。 对于第二组测试数据:$s_1=s_2$,小红成功。 对于第三组数据:小蓝可以使得翻转操作进入一个循环状态,使得小红无论如何都得不到 $s_2$。
查看答案
赣ICP备20007335号-2