A1429 | 反转魔术
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
$AC$ 狗有一个字符串 $s$ 长度为 $n$,仅由
$AC$ 狗可以对字符串 $s$ 执行以下称为反转魔术的操作:
选择一段区间 $[l,r]$ ($1 \le l \le r$),如果 $s[i]$ 为 $1$,则将 $s[i]$ 改为 $0$;如果 $s[i]$ 为 $0$,则将 $s[i]$ 改为 $1$。
例如:设 $s$ 为
$AC$ 狗想让字符串 $s$ 变成一个回文串,请你帮助它确定是否只使用一次反转魔术就可以完成操作。
0 和 1 组成。$s$ 的第 $i$ 个字符表示为 $s_i$,其中 $1 \le i \le n$。$AC$ 狗可以对字符串 $s$ 执行以下称为反转魔术的操作:
选择一段区间 $[l,r]$ ($1 \le l \le r$),如果 $s[i]$ 为 $1$,则将 $s[i]$ 改为 $0$;如果 $s[i]$ 为 $0$,则将 $s[i]$ 改为 $1$。
例如:设 $s$ 为
00011,选择区间 $[2,4]$,执行反转魔术后,字符串 $s$ 变为 01101。$AC$ 狗想让字符串 $s$ 变成一个回文串,请你帮助它确定是否只使用一次反转魔术就可以完成操作。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量为 $t$ ($1 \le t \le 100$)。测试用例的描述如下。
每个测试用例的第一行包含一个整数 $n$ ($ 2 \le n \le 10^5$) — 表示字符串的长度。
每个测试用例的第二行包含一个长度为 $n$ 的字符串 $s$, $s$ 只能出现字符
每个测试用例的第一行包含一个整数 $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$ 变为回文串。
在第二个测试用例中,$AC$ 狗可以对区间 $[1,2]$ 执行反转魔术。魔术结束后的字符串 $s$ 为 $00000$。
在第三个测试用例中,$AC$ 狗不能只进行一次反转魔术来使 $s$ 变为回文串。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?