-
热度指数:546
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 256M,其他语言512M
-
算法知识视频讲解

给定一个长度为

且仅由 '

' 、 '

' 两种字符构成的字符串

。每次操作你都可以选择
字符串 
的任意一个字符,并将其
反置。

询问经过
恰好 
次操作后,
字符串 
是否为一个
回文字符串。
若当前字符为 '
' ,反置后为 '
' ;若当前字符为 '
' ,反置后为 '
' 。

一个字符串被称作
回文字符串,当且仅当这个字符串从左往右读和从右往左读都是相同的。
输入描述:

每个测试文件均包含多组测试数据。第一行输入一个整数
)
代表数据组数,每组测试数据描述如下:

第一行输入两个整数
)
输出描述:
对于每一组测试数据,如果经过恰好
次操作后,字符串
可以成为一个回文字符串,在一行上输出
;否则,直接输出
。
示例1
输入
3
6 1
101100
6 2
101100
6 3
101100
说明

对于第一组测试数据,可得到的回文串为 "

" 、"

" ;

对于第二组测试数据,无论如何都不能使得其变成回文串;
对于第三组测试数据,由于其包含第一组测试数据,因此也可以变成回文串。
示例2
输入
4
5 4
10101
4 3
1001
6 4
100100
6 5
000001
备注:

在几乎全部的情况下,

的运行速度优于

,我们建议您选择对应版本的

进行提交、而不是

。