P16615 [GKS 2017 #A] Pattern Overlap

题目描述

Alice 喜欢读书,并且购买了大量书籍。她把书存放在两个盒子中;每个盒子上都标有一个与盒内所有书籍标题匹配的模式。模式仅由大写/小写英文字母和星号($*$)组成。星号可以匹配 0 到 4 个字母。例如,标题为 *GoneGirl* 和 *GoneTomorrow* 的书可以放入模式为 `Gone**` 的盒子中,但标题为 *TheGoneGirl*、*Gonetomorrow* 和 *GoneWithTheWind* 的书则不能。 Alice 想知道是否存在一本书可以放入其中任意一个盒子中。也就是说,她想问是否存在一个标题同时与两个盒子的模式匹配。

输入格式

输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。每个测试用例由两行组成;每行包含一个字符串,其中每个字符要么是大写/小写英文字母,要么是 $*$。

输出格式

对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 为 **TRUE**(如果存在一个字符串同时匹配两个模式)或 **FALSE**(如果不存在)。

说明/提示

在样例 #1 中,标题 *It* 同时匹配两个模式。注意,星号可以匹配 0 个字符。 在样例 #2 中,标题 *Shakespeare* 同时匹配两个模式。 在样例 #3 中,不存在同时匹配两个模式的标题。例如,*Shakespeare* 不行,因为 `*peare` 模式开头的星号无法匹配 6 个字母。 ### 限制条件 $1 \le T \le 50$。 **小数据集(测试集 1 – 可见)** $1 \le$ 每个模式的长度 $\le 200$。 每个模式至多包含 $5$ 个星号。 **大数据集(测试集 2 – 隐藏)** $1 \le$ 每个模式的长度 $\le 2000$。 翻译由 DeepSeek V4 Pro 完成