P3234 [HNOI2014] 抄卡组
题目描述
一天闲着无聊的小 L 找来了当前正火爆的游戏《炉石传说》来玩,但是怎么打怎么输,于是他大喊一声“我要抄卡组!”就找来了游戏传说组第一名的游戏高手小 H 的直播来看。
但是小 L 家的网络技术还停留在拨号,看着直播画面又是卡顿又是花屏,他不给力的网络让他完全无法记录小 H 展示的给力的卡组。小 L 周围都是学霸没有人玩游戏想去帮他这个忙,但是学霸们热衷于讨论各种信息学问题。
于是他想到了一个方法:由于每次花屏的屏幕位置不一样,于是小 H 每次总能记录下卡组的一些部分,如果这样记录多次,不就有可能还原出小 L 想要的一个卡组么?
但是存在的一个问题是,小 H 每次展示的卡组有可能不一样,所以他想知道他每次看直播抄下来几次的卡组碎片是否一致。
这样一来小 H 将他遇到的游戏问题抽象成这样一个学术问题让学霸(你)解决:`*`可以匹配任意长度个的字符 (包含 $0$ 个),问所有字符串是否两两匹配。
输入格式
第一行包含一个正整数 $T$,表示了数据组数。
接下来包含 $T$ 组数据:
每组数据的第一行是一个正整数 $N$,表示该组数据酌字符串个数。
接下来 $N$ 行,每行一个字符串,字符串仅包含小写字母、数字、通配符术。
**注意:** 数据为 UNIX 格式,中间包含空行,你可以采用逐字符读入的方式。
输出格式
输出包含 $T$ 行,每行一个字母 `Y` 或者 `N`,`Y` 表示这组数据中所有字符串两两匹配,`N` 表示这组数据中至少有一对字符串不匹配。
说明/提示
对于 $100\%$ 的数据,满足 $N \leq 100000,T = 10$,输入文件不超过 $10\text{M}$,$N\times$ 最长字符串长度不超过 $2\times 10^8$。
目前有且仅有 hack 数据中 $T = 1$。