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