编程题
### 问题描述 小夜是一个著名的考古学家,他在一次探险中发现了一种神秘的宝石。这种宝石有一个非常奇特的性质:它们可以被分解为恰好三种不同的力量等级,每种力量等级对应二进制表示的一个位。 现在,小夜手中有一串由这些神秘宝石的力量等级组成的二进制串 $S$,长度为 $N$。他悬赏你帮他判断这串二进制串是否可以被分解为恰好三个不同的力量等级。 请你帮助小夜解决这个问题,以赢得丰厚的悬赏。 ### 输入格式 首先,你会接收到一个整数 $T$,表示小然给出的二进制串的个数。 接下来,对于每一个字符串,你会首先接收到一个整数 $N$,表示二进制串的长度。 然后,你会接收到一个长度为 $N$ 的二进制串 $S$,表示宝石的力量等级。 ### 输出格式 对于每个二进制串,如果可以被分解为恰好三个不同的力量等级,则输出 "YES";否则,输出 "NO"。 ### 样例输入 ```text 4 1 1 4 1001 5 11001 7 1101101 ``` ### 样例输出 ```text NO YES YES NO ``` ### 说明 在第一个样例中,单个的力量等级无法被分解为三个不同的力量等级。 在第二个样例中,$1001$ 对应的力量等级是 $9$。我们可以将 $9$ 分解为恰好三个力量等级:$2^0$,$2^2$ 和 $2^2$。 在第三个样例中,$11001$ 对应的力量等级是 $25$。我们可以将 $25$ 分解为恰好三个力量等级:$2^0$,$2^3$ 和 $2^4$。 在第四个样例中,$1101101$ 对应的力量等级无法被分解为三个不同的力量等级。 ### 评测数据范围 $1 \leq T \leq 1000$。 $1 \leq N \leq 2 \times 10^5$。 $S$ 仅包含 $0$ 和 $1$,且不含前导 $0$。 所有测试用例的 $N$ 之和不超过 $2 \times 10^5$。
查看答案
赣ICP备20007335号-2