#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"。
这样题目就完整了,包括题意、输入输出格式、数据范围、样例及解释。