CF1499B.Binary Removals

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Binary Removals

题目描述

给定一个只包含字符 '0' 或 '1' 的字符串 ss,记 s|s|ss 的长度。

你需要选择一个整数 kkk>0k > 0),并找到一个长度为 kk 的序列 aa,使得:

  • 1a1<a2<<aks1 \le a_1 < a_2 < \dots < a_k \le |s|
  • 对于所有 2ik2 \le i \le k,都有 ai1+1<aia_{i-1} + 1 < a_i

a1,a2,,aka_1, a_2, \dots, a_k 位置上的字符从 ss 中删除,剩下的字符按原顺序拼接,得到新字符串 ss'。换句话说,序列 aa 中的位置不能相邻。

如果对于所有 2is2 \le i \le |s'|,都有 si1sis'_{i-1} \le s'_i,则称 ss' 是有序的。

请判断是否存在这样的序列 aa,使得最终得到的字符串 ss' 是有序的。

输入格式

第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。

接下来每个测试用例包含一行字符串 ss2s1002 \le |s| \le 100),每个字符均为 '0' 或 '1'。

输出格式

对于每个测试用例,如果存在满足条件的序列 aa,输出 "YES";否则输出 "NO"。

你可以用任意大小写输出答案(如 yEs, yes, Yes, YES 都视为正确)。

说明/提示

在第一个测试用例中,你可以选择序列 a=[1,3,6,9]a=[1,3,6,9]。从 "10101011011" 中删除这些位置的字符后,得到字符串 "0011111",它是有序的。

在第二个和第三个测试用例中,原字符串已经是有序的。

在第四个测试用例中,你可以选择序列 a=[3]a=[3],此时 s=s'= "11",它是有序的。

在第五个测试用例中,没有办法选择序列 aa 使得 ss' 有序。

由 ChatGPT 4.1 翻译

样例

5
10101011011
0000
11111
110
1100
YES
YES
YES
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验