CF1551C Interesting Story

题目描述

Stephen Queen 想要写一个故事。他是一位非常特别的作家,只使用字母 'a'、'b'、'c'、'd' 和 'e'! 为了创作故事,Stephen 写下了 $n$ 个仅由拉丁字母表前 $5$ 个小写字母组成的单词。他希望从中选出尽可能多的单词来组成一个有趣的故事。 我们定义一个故事为一系列单词(不一定互不相同)。如果存在某个字母,在故事中出现的次数比其它所有字母出现的总次数还要多,则这个故事被称为有趣的。 例如,由三个单词 "bac"、"aaada"、"e" 组成的故事是有趣的(字母 'a' 出现了 $5$ 次,其它所有字母总共出现了 $4$ 次)。但由两个单词 "aba"、"abcde" 组成的故事则不是(不存在某个字母出现次数超过其它所有字母之和)。 现在给定一个由 $n$ 个仅包含 'a'、'b'、'c'、'd'、'e' 的单词组成的序列。你的任务是选择其中最多的单词,使它们组成一个有趣的故事。如果无法组成非空的有趣故事,则输出 $0$。

输入格式

第一行包含一个整数 $t$($1 \le t \le 5000$),表示测试用例的数量。接下来有 $t$ 组测试数据。 每组测试数据的第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$),表示单词的数量。接下来的 $n$ 行,每行包含一个单词——一个非空字符串,仅由小写拉丁字母 'a'、'b'、'c'、'd'、'e' 组成。单词可以重复出现。 保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$,所有单词长度的总和不超过 $4 \times 10^5$。

输出格式

对于每个测试用例,输出能够组成有趣故事的最大单词数量。如果无法组成非空的有趣故事,输出 $0$。

说明/提示

在第一个样例中,所有 $3$ 个单词都可以用来组成一个有趣的故事。这个有趣的故事是 "bac aaada e"。 在第二个样例中,第 $1$ 个和第 $3$ 个单词可以组成一个有趣的故事。这个有趣的故事是 "aba aba"。Stephen 不能同时使用所有三个单词。 在第三个样例中,Stephen 无法组成非空的有趣故事,因此答案是 $0$。 在第四个样例中,Stephen 可以使用第 $3$ 个和第 $4$ 个单词组成一个有趣的故事。这个有趣的故事是 "c bc"。 由 ChatGPT 4.1 翻译