loj#P2208. 「HNOI2014」抄卡组

「HNOI2014」抄卡组

题目描述

一天闲着无聊的小 L 找来了当前正火爆的游戏《炉石传说》来玩,但是怎么打怎么输,于是他大喊一声「我要抄卡组!」就找来了游戏传说组第一名的游戏高手小 H 的直播来看。

但是小 L 家的网络技术还停留在拨号,看着直播画面又是卡顿又是花屏,他不给力的网络让他完全无法记录小 H 展示的给力的卡组。小 L 周围都是学霸没有人玩游戏想去帮他这个忙,但是学霸们都热衷于讨论各种信息学问题。

于是他想到了一个方法:由于每次花屏的屏幕位置不一样,于是小 H 每次总能记录下卡组的一些部分,如果这样记录多次,不就有可能还原出小 L 想要的一个卡组么?但是存在的一个问题是,小 H 每次展示的卡组有可能不一样,所以他想知道他每次看直播抄下来几次的卡组碎片是否一致。

这样一来小 H 将他遇到的游戏问题抽象成这样一个学术问题让学霸(你)解决:若 * 可以匹配任意长度的字符串(包含 00 个),问所有字符串是否两两匹配。

输入格式

第一行包含一个正整数 TT,表示了数据组数。
接下来包含 TT 组数据:
每组数据的第一行是一个正整数 NN,表示该组数据的字符串个数。
接下来 NN 行,每行一个字符串,字符串仅包含小写字母、数字、通配符 *

注意:数据为 UNIX 格式,中间包含空行,你可以采用逐字符读入的方式。

输出格式

输出包含 TT 行,每行一个字母 Y 或者 NY 表示这组数据中所有字符串两两匹配,N 表示这组数据中至少有一对字符串不匹配。

10
2
1234567890*1234567890
1234567890a1234567890
2
1234567890*1234567890
1234567890*1234567890
2
1234*67890a1234567890
1234567890*1234567890
2
1234567890*1234567890
1234567890a12345*7890
2
1234567890*1234567890
*12345
2
12345*67890
1234567890*1234567890
2
1234567890*1234567890
12345*
2
1234567890*1234567890
*67890
2
67890*
1234567890*1234567890
2
1234567890*a*1234567890
1234567890*1234567890
Y
Y
Y
Y
N
Y
Y
Y
N
Y

数据范围与提示

对于 100%100\% 的数据,满足 N100000, T10N \leq 100000,\ T \leq 10,输入文件不超过 10M\texttt{10M}N×N\times最长字符串长度不超过 2×1082 \times 10^8