多字符串(strings)

题目描述

给定 nn 个字符串:s1,s2,,sns_1,s_2,\ldots,s_n,每个字符串的长度不超过 88

对于每个字符串 sis_i,请判断是否存在两个字符串 sjs_jsks_k,使得:

si=sj+sks_i=s_j+s_k

其中 ++ 表示字符串拼接。

注意:

  • jj 可以等于 kk
  • 给定的字符串中可能存在完全相同的字符串;
  • 只要能找到任意两个给定字符串拼接成 sis_i,就认为 sis_i 满足条件。

例如,字符串 damo\texttt{damo}nthrone\texttt{nthrone} 拼接后可以得到 damonthrone\texttt{damonthrone}

输入格式

第一行包含一个整数 tt,表示测试用例的数量。

对于每个测试用例:

第一行包含一个整数 nn,表示字符串数量。

接下来 nn 行,每行包含一个非空字符串 sis_i

字符串只包含小写英文字母,且长度不超过 88

输出格式

对于每个测试用例,输出一个长度为 nn 的二进制字符串。

如果第 ii 个字符串可以由给定字符串中的两个字符串拼接得到,则第 ii 位输出 1\text{1},否则输出 0\text{0}

输入输出样例 #1

输入 #1

2
5
abab
ab
abc
abacb
c
3
x
xx
xxx

输出 #1

10100
011

样例解释 #1

对于第 11 组测试数据:

共有 55 个字符串:

abab
ab
abc
abacb
c

其中:

  • abab\texttt{abab} 可以由 ab+ab\texttt{ab} + \texttt{ab} 拼接得到,因此输出 1\text{1}
  • ab\texttt{ab} 不能由两个给定字符串拼接得到,因此输出 0\text{0}
  • abc\texttt{abc} 可以由 ab+c\texttt{ab} + \texttt{c} 拼接得到,因此输出 1\text{1}
  • abacb\texttt{abacb} 不能由两个给定字符串拼接得到,因此输出 0\text{0}
  • c\texttt{c} 不能由两个给定字符串拼接得到,因此输出 0\text{0}

所以输出:10100\text{10100}

对于第 22 组测试数据:

共有 33 个字符串:

x
xx
xxx

其中:

  • x\texttt{x} 不能由两个非空字符串拼接得到,因此输出 0\text{0}
  • xx\texttt{xx} 可以由 x+x\texttt{x} + \texttt{x} 拼接得到,因此输出 1\text{1}
  • xxx\texttt{xxx} 可以由 x+xx\texttt{x} + \texttt{xx} 拼接得到,因此输出 1\text{1}

所以输出:011\text{011}

输入输出样例 #2

输入 #2

2
6
a
b
ab
ba
aa
bb
5
damo
nthrone
damonthrone
throne
damon

输出 #2

001111
00100

样例解释 #2

对于第 11 组测试数据:

  • ab=a+b\texttt{ab} = \texttt{a} + \texttt{b}
  • ba=b+a\texttt{ba} = \texttt{b} + \texttt{a}
  • aa=a+a\texttt{aa} = \texttt{a} + \texttt{a}
  • bb=b+b\texttt{bb} = \texttt{b} + \texttt{b}

因此输出:001111\text{001111}

对于第 22 组测试数据:

damonthrone\texttt{damonthrone} 可以由 damo+nthrone\texttt{damo} + \texttt{nthrone} 拼接得到,其余字符串都不能由两个给定字符串拼接得到。

因此输出:00100\text{00100}

数据范围与约定

对于所有测试数据,保证:

1t104,1n1051 \le t \le 10^4,\quad 1 \le n \le 10^5 1si81 \le |s_i| \le 8

需要注意damonthrone\texttt{damonthrone} 只是为了写一下团队名字,虽然长度超过 88 但是不影响。

保证所有测试用例中 nn 的总和不超过 10510^5

测试点 分值 tt n\sum n si|s_i| 特殊性质
121\sim 2 2020 5\le 5 20\le 20 4\le 4
343\sim 4 20\le 20 100\le 100 2\le 2 A\text{A}
565\sim 6 100\le 100 1000\le 1000 8\le 8 B\text{B}
787\sim 8 1000\le 1000 104\le 10^4
9109\sim 10 104\le 10^4 105\le 10^5

特殊性质 A\text{A}:保证所有字符串长度不超过 22

特殊性质 B\text{B}:保证同一个测试用例内,所有字符串互不相同。