CF1703D.Double Strings
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given n strings s1,s2,…,sn of length at most 8.
For each string si, determine if there exist two strings sj and sk such that si=sj+sk. That is, si is the concatenation of sj and sk. Note that j can be equal to k.
Recall that the concatenation of strings s and t is s+t=s1s2…spt1t2…tq, where p and q are the lengths of strings s and t respectively. For example, concatenation of "code" and "forces" is "codeforces".
给你 n 个长度不超过 8 的字符串 s1,s2,…,sn。
对每个字符串 si,判断是否存在两个字符串 sj 和 sk,使得 si=sj+sk。即 si 是 sj 与 sk 的拼接。注意:j 可以等于 k。
回顾一下,字符串 s 与 t 的拼接定义为 s+t=s1s2…spt1t2…tq,其中 p 和 q 分别是字符串 s 和 t 的长度。例如,“code” 与 “forces” 的拼接结果是 “codeforces”。
输入格式
The first line contains a single integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains a single integer n (1≤n≤105) — the number of strings.
Then n lines follow, the i-th of which contains non-empty string si of length at most 8, consisting of lowercase English letters. Among the given n strings, there may be equal (duplicates).
The sum of n over all test cases doesn't exceed 105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤105)—— 字符串的数量。
接下来是 n 行,其中第 i 行包含一个非空字符串 si,其长度至多为 8,且仅由小写英文字母组成。在给定的 n 个字符串中,可能存在相等的字符串(即重复项)。
所有测试用例的 n 值之和不超过 105。
输出格式
For each test case, output a binary string of length n. The i-th bit should be 1 if there exist two strings sj and sk where si=sj+sk, and 0 otherwise. Note that j can be equal to k.
对于每个测试用例,输出一个长度为 n 的二进制字符串。其中第 i 位应为 1,当且仅当存在两个字符串 sj 和 sk,使得 si=sj+sk;否则为 0。注意,j 可以等于 k。
输入输出样例
输入#1
3 5 abab ab abc abacb c 3 x xx xxx 8 codeforc es codes cod forc forces e code
输出#1
10100 011 10100101
说明/提示
In the first test case, we have the following:
- s1=s2+s2, since abab=ab+ab. Remember that j can be equal to k.
- s2 is not the concatenation of any two strings in the list.
- s3=s2+s5, since abc=ab+c.
- s4 is not the concatenation of any two strings in the list.
- s5 is not the concatenation of any two strings in the list.
Since only s1 and s3 satisfy the conditions, only the first and third bits in the answer should be 1, so the answer is 10100.
在第一个测试用例中,我们有如下情况:
- s1=s2+s2,因为 abab=ab+ab。注意 j 可以等于 k。
- s2 不能表示为列表中任意两个字符串的拼接。
- s3=s2+s5,因为 abc=ab+c。
- s4 不能表示为列表中任意两个字符串的拼接。
- s5 不能表示为列表中任意两个字符串的拼接。
由于只有 s1 和 s3 满足条件,因此答案中仅第一位和第三位应为 1,故答案为 10100。
输入解题思路,AI测评打分。不知道怎么写?