AT_abc415_c [ABC415C] Mixture

题目描述

有 $N$ 种药品 $1,2,\dots,N$。你的目标是将它们全部混合在一起。 给定一个长度为 $2^N-1$ 的只包含 `0` 和 `1` 的字符串 $S$,它表示如下信息: - 首先,定义 $i$($1\le i\le 2^N-1$)为混合了 $1$ 种或多种药品的状态。 - 当 $i$ 用二进制表示时,从低位起第 $k$ 位($1\le k\le N$)为 $1$,当且仅当药品 $k$ 被包含在内。 - 例如,$13$ 的二进制表示为 $1101_{(2)}$,因此状态 $13$ 表示药品 $1,3,4$ 被混合在一起。 - 当 $S$ 的第 $i$ 个字符为 `0` 时,状态 $i$ 是**安全**的。 - 当 $S$ 的第 $i$ 个字符为 `1` 时,状态 $i$ 是**危险**的。 你可以通过如下操作混合药品: - 首先,准备一个空瓶子。 - 然后重复以下操作: - 选择一种尚未倒入瓶中的药品,倒入瓶中。 - 此时,瓶中混合的药品所对应的状态不能是危险状态。 请判断是否能够通过上述操作,将所有药品全部混合在一起。 有 $T$ 个测试用例,请分别输出每个测试用例的答案。

输入格式

输入按以下格式从标准输入给出。 > $T$ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例 $\mathrm{case}_i$ 的格式如下: > $N$ $S$

输出格式

输出 $T$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案。 对于每个测试用例,如果能够将所有药品全部混合在一起,输出 `Yes`,否则输出 `No`。

说明/提示

### 数据范围 - $T$ 是 $1$ 到 $40000$ 之间的整数。 - $N$ 是 $1$ 到 $18$ 之间的整数。 - $S$ 是长度为 $2^N-1$ 的只包含 `0` 和 `1` 的字符串。 - 所有输入中 $|S|=2^N-1$ 的总和不超过 $5\times 10^5$。 ### 样例解释 1 本输入包含 $5$ 个测试用例。第 $1$ 个测试用例如下: - 有 $3$ 种药品。 - 只有药品 $1,2$ 混合的状态 $3$ 是危险的,其他状态都是安全的。 - 例如,可以按以下顺序将所有药品混合在一起: - 首先倒入药品 $2$,此时瓶中只有药品 $2$,对应状态 $2$,是安全的。 - 然后倒入药品 $3$,此时瓶中有药品 $2,3$,对应状态 $6$,是安全的。 - 最后倒入药品 $1$,此时瓶中有药品 $1,2,3$,对应状态 $7$,是安全的。 第 $2$ 个测试用例如下: - 有 $3$ 种药品。 - 药品 $1,2$ 混合的状态 $3$、药品 $1,3$ 混合的状态 $5$、药品 $2,3$ 混合的状态 $6$ 都是危险的,其他状态都是安全的。 - 对于本例,无法将所有药品混合在一起。 第 $3$ 个测试用例如下: - 有 $1$ 种药品。 - 只有药品 $1$ 混合的状态 $1$ 是危险的,因此无法将所有药品混合在一起。 由 ChatGPT 4.1 翻译