编程题
### 问题描述 大衣有一个长度为 $2\cdot N$ 的二进制字符串 $S​$。 将字符串 $S$ 划分为字符串 $P$ 和字符串 $Q$,满足: - 字符串 $P$ 和 $Q$ 的长度都为 $N$,它们都是字符串 $S$ 的子序列。 - 字符串 $S$ 的每个字符仅属于字符串 $P$ 和 $Q$ 其中一个。 - 字符串 $P$ 和 $Q$ 不相同。 令数组 $A$ 为字符串 $P$ 的每个字符在字符串 $S$ 中对应的索引值。 如果存在划分方式满足题目要求,输出字典序最小的数组 $A​$,否则输出 $-1​$。 ### 输入格式 第一行输入一个正整数 $T​$ 表示测试数据的组数。 接下来 $T​$ 组测试数据每组输入两行: - 第一行输入一个正整数 $N$,$2\cdot N$ 表示字符串 $S$ 的长度。 - 第二行输入一个长度为 $2\cdot N$ 的二进制字符串 $S$。 ### 输出格式 对于每组测试数据,如果存在划分方式满足题目要求,输出字典序最小的数组 $A$,否则输出 $-1$,并换行。 ### 样例输入 ```text 4 1 11 1 10 3 100000 3 100100 ``` ### 样例输出 ```text -1 1 1 2 3 1 2 4 ``` ### 说明 样例 $1$:可以证明不存在划分方式满足题目要求。 样例 $2$:一种满足题目的划分方式为 $P=1,Q=0$,此时数组 $A=[1]$ 是字典序最小的。 样例 $3$:一种满足题目的划分方式为 $P=100,Q=000$,此时数组 $A=[1,2,3]$ 是字典序最小的。 样例 $3$:一种满足题目的划分方式为 $P=101,Q=000$,此时数组 $A=[1,2,4]$ 是字典序最小的。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 10$,$1\le N\le 10^4$,二进制字符串 $S$ 仅包含 $0$ 和 $1$。
查看答案
赣ICP备20007335号-2