Bazinga Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 72 Accepted Submission(s): 28
Problem Description
Ladies and gentlemen, please sit up straight.
Don't tilt your head. I'm serious.
For
n given strings
S1,S2,⋯,Sn, labelled from
1 to
n, you should find the largest
i (1≤i≤n) such that there exists an integer
j (1≤j<i) and
Sj is not a substring of
Si.
A substring of a string
Si is another string that occurs
in
Si. For example, ``ruiz" is a substring of ``ruizhang", and ``rzhang" is not a substring of ``ruizhang".
Input
The first line contains an integer
t (1≤t≤50) which is the number of test cases.
For each test case, the first line is the positive integer
n (1≤n≤500) and in the following
n lines list are the strings
S1,S2,⋯,Sn.
All strings are given in lower-case letters and strings are no longer than
2000 letters.
Output
For each test case, output the largest label you get. If it does not exist, output
−1.
Sample Input
4 5 ab abc zabc abcd zabcd 4 you lovinyou aboutlovinyou allaboutlovinyou 5 de def abcd abcde abcdef 3 a ba ccc
Sample Output
Case #1: 4 Case #2: -1 Case #3: 4 Case #4: 3
|
题意:给你n个串,让你找到最大的i(字符串编号 从1开始)使得至少存在一个j(1<=j
不要想太多,弱渣ac自动机TLE到死 o(╯□╰)o
AC代码:
#include
#include
#include
#include
#include
#include