#P1598. Excuses, Excuses!
Excuses, Excuses!
题目描述
Ito 法官遇到了一个问题:被传唤参加陪审团的人总会用蹩脚的借口逃避职责。为了减少听这些愚蠢借口的时间,Ito 法官请你编写一个程序,在一系列借口中搜索关键词列表,识别出“最 lame”的借口。关键词匹配时不区分大小写。
输入格式
输入包含多组数据。每组数据的第 1 行包含两个整数,第一个数(1 ≤ K ≤ 20)表示关键词的数量,第二个数(1 ≤ E ≤ 20)表示需要搜索的借口数量。第 2 行到第 K+1 行每行包含一个关键词。第 K+2 行到第 K+1+E 行每行包含一个借口。
所有关键词仅由连续的小写字母组成,长度 L 满足 1 ≤ L ≤ 20,且占据输入行的第 1 列到第 L 列。
所有借口可以包含任意大小写字母、数字、空格,或以下标点符号 [".,!?](不含方括号),长度不超过 70 字符。借口至少包含 1 个非空格字符。
输出格式
对于每组输入,输出“最差”的借口(一个或多个)。最差借口定义为包含关键词出现次数最多的借口。若一个关键词在借口中出现多次,每次出现均计为一次独立的匹配。当且仅当关键词以连续形式出现在字符串中,且被行首/行尾、非字母字符或空格分隔时,视为“出现”。
每组输入需输出一行,格式为“Excuse Set #X”(X 为当前组号)。接下来每行输出一个最差借口,按输入顺序输出(若有多个,顺序不限)。每组输出后需打印一个空行。
输入示例 1
5 3
dog
ate
homework
canary
died
My dog ate my homework.
Can you believe my dog died after eating my canary... AND MY HOMEWORK?
This excuse is so good that it contain 0 keywords.
6 5
superhighway
crazy
thermonuclear
bedroom
war
building
I am having a superhighway built in my bedroom.
I am actually crazy.
1234567890.....,,,,,0987654321?????!!!!!!
There was a thermonuclear war!
I ate my dog, my canary, and my homework ... note outdated keywords?
输出示例 1
Excuse Set #1
Can you believe my dog died after eating my canary... AND MY HOMEWORK?
Excuse Set #2
I am having a superhighway built in my bedroom.
There was a thermonuclear war!
来源
South Central USA 1996