#CF4054. 双串合璧

双串合璧

题目描述

给您 nn 个字符串 s1,s2,,sns_1,s_2,…,s_n,长度最多为 88

对于每个字符串 sis_i,确定是否存在两个字符串 sjs_jsks_k,使得 si=sj+sks_i=s_j+s_k。也就是说,sis_isjs_jsks_k 的串联。注意 jj 可以等于 kk

公式化地说,字符串 sstt 的串联是 s+ts1s2spt1t2tqs+t=s_1s_2…s_pt_1t_2…t_q,其中 ppqq 分别是字符串 sstt 的长度。例如,guangtouqiang 的连接就是 guangtouqiang

输入格式

第一行包含单个整数 t(1t104)t(1≤t≤10^4) 代表测试用例数。

每个测试用例的第一行包含单个整数 n(1n105)n(1≤n≤10^5) 代表字符串数。

随后是 nn 行,其中第 ii 行包含长度最多为 88 的非空字符串 sis_i,由小写英文字母组成。在给定的 nn 个字符串中,可能有相等的(重复的)。

所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,输出长度为 nn 的二进制字符串。如果存在两个字符串 sjs_jsks_k 满足 si=sj+sks_i=s_j+s_k,则第 ii 位应为 11,否则为 00。注意 jj 可以等于 kk

测试样例

3
5
abab
ab
abc
abacb
c
3
x
xx
xxx
8
codeforc
es
codes
cod
forc
forces
e
code
10100
011
10100101

样例说明

在第一个测试用例中,我们有以下内容:

  • s1=s2+s2s_1=s_2+s_2,因为 abab=ab+ab。记住 jj 可以等于 kk
  • s2s_2 不是列表中任何两个字符串的串联。
  • s3=s2+s5s_3=s_2+s_5,因为 abc=ab+c
  • s4s_4 不是列表中任何两个字符串的串联。
  • s5s_5 不是列表中任何两个字符串的串联。

因为只有 s1s_1s3s_3 满足条件,所以答案中只有第一和第三位应该是 11,所以答案是 10100