#tRIEybttg020301. 1471:【例题1】Phone List

1471:【例题1】Phone List

好的,这是整理好的题面,格式清晰。


题目描述

给定 ( n ) 个长度不超过 10 的数字串(由数字 '0'–'9' 组成),问其中是否存在两个数字串 ( S, T ),使得 ( S ) 是 ( T ) 的前缀(即 ( T ) 以 ( S ) 开头,并且 ( S \neq T ))。

注意:前缀要求严格,即 ( S ) 必须完全匹配 ( T ) 的前 ( |S| ) 个字符,且 ( S ) 比 ( T ) 短。


输入格式

第一行一个整数 ( T ),表示数据组数。
对于每组数据:
第一行一个整数 ( n )(( 1 \le n \le 10^4 ))。
接下来 ( n ) 行,每行一个数字串。

输出格式

对于每组数据,如果存在两个数字串 ( S, T ) 使得 ( S ) 是 ( T ) 的前缀,则输出 "NO";否则输出 "YES"
注意:输出大写字母,不带引号。


数据范围

  • ( 1 \le T \le 40 )
  • ( 1 \le n \le 10^4 )
  • 每个数字串长度不超过 10

输入样例

2
3
911
97625999
91125426
5
113
12340
123440
12345
98346

输出样例

NO
YES

样例解释

第一组数据

数字串:911, 97625999, 91125426
检查是否有前缀关系:

  • 911 是 91125426 的前缀吗?是(911 匹配 91125426 的前三位),所以存在前缀关系。
    所以输出 "NO"

第二组数据

数字串:113, 12340, 123440, 12345, 98346
检查:

  • 1234 不是任何一个更长的串的完全前缀(12340 和 123440 都不同,12345 也不同),113 不是任何串的前缀,等等。
    没有前缀关系,所以输出 "YES"

这样题目就完整了,包括题意、输入输出格式、数据范围、样例及解释。