CF1499B Binary Removals
题目描述
给定一个只包含字符 '0' 或 '1' 的字符串 $s$,记 $|s|$ 为 $s$ 的长度。
你需要选择一个整数 $k$($k > 0$),并找到一个长度为 $k$ 的序列 $a$,使得:
- $1 \le a_1 < a_2 < \dots < a_k \le |s|$;
- 对于所有 $2 \le i \le k$,都有 $a_{i-1} + 1 < a_i$。
将 $a_1, a_2, \dots, a_k$ 位置上的字符从 $s$ 中删除,剩下的字符按原顺序拼接,得到新字符串 $s'$。换句话说,序列 $a$ 中的位置不能相邻。
如果对于所有 $2 \le i \le |s'|$,都有 $s'_{i-1} \le s'_i$,则称 $s'$ 是有序的。
请判断是否存在这样的序列 $a$,使得最终得到的字符串 $s'$ 是有序的。
输入格式
第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
接下来每个测试用例包含一行字符串 $s$($2 \le |s| \le 100$),每个字符均为 '0' 或 '1'。
输出格式
对于每个测试用例,如果存在满足条件的序列 $a$,输出 "YES";否则输出 "NO"。
你可以用任意大小写输出答案(如 yEs, yes, Yes, YES 都视为正确)。
说明/提示
在第一个测试用例中,你可以选择序列 $a=[1,3,6,9]$。从 "10101011011" 中删除这些位置的字符后,得到字符串 "0011111",它是有序的。
在第二个和第三个测试用例中,原字符串已经是有序的。
在第四个测试用例中,你可以选择序列 $a=[3]$,此时 $s'=$ "11",它是有序的。
在第五个测试用例中,没有办法选择序列 $a$ 使得 $s'$ 有序。
由 ChatGPT 4.1 翻译