A1704.反转魔术
入门
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
AC 狗有一个字符串 s 长度为 n,仅由 0
和 1
组成。s 的第 i 个字符表示为 si,其中 1≤i≤n。
AC 狗可以对字符串 s 执行以下称为反转魔术的操作:
选择一段区间 [l,r] (1≤l≤r),如果 s[i] 为 1,则将 s[i] 改为 0;如果 s[i] 为 0,则将 s[i] 改为 1。
例如:设 s 为 00011
,选择区间 [2,4],执行反转魔术后,字符串 s 变为 01101
。
AC 狗想让字符串 s 变成一个回文串,请你帮助它确定是否只使用一次反转魔术就可以完成操作。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量为 t (1≤t≤100)。测试用例的描述如下。
每个测试用例的第一行包含一个整数 n ($ 2 \le n \le 10^5$) — 表示字符串的长度。
每个测试用例的第二行包含一个长度为 n 的字符串 s, s 只能出现字符 0
和 1
。
输出格式
对于每个测试用例,如果执行一次反转魔法后 s 是回文的,打印 YES
,否则打印 NO
。
输入输出样例
输入#1
3 3 011 5 11000 7 0110011
输出#1
YES YES NO
说明/提示
在第一个测试用例中,AC 狗可以对区间 [1,1] 执行反转魔术。魔术结束后的字符串 s 为 111。
在第二个测试用例中,AC 狗可以对区间 [1,2] 执行反转魔术。魔术结束后的字符串 s 为 00000。
在第三个测试用例中,AC 狗不能只进行一次反转魔术来使 s 变为回文串。