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 翻译