CF590E Birthday
题目描述
今天是小 Dasha 的生日 —— 她现在 8 岁了!在这个特殊的日子里,她的 $n$ 个亲友各送给她一条写有祝福语的丝带,所有的祝福语都不相同。Dasha 收集了所有丝带,并决定扔掉其中一些,以便让剩下的丝带集合看起来更时尚。生日女孩认为一组丝带是时尚的,如果没有某条丝带上的祝福语是另一条丝带上祝福语的子串。我们回忆一下,字符串 $s$ 的子串是 $s$ 的一个连续片段。
请你帮助 Dasha 保留尽可能多的丝带,使她可以向所有朋友炫耀一番。Dasha 不能旋转或翻转丝带,也就是说,每条祝福语只能以输入中给定的方式阅读。
输入格式
输入的第一行包含整数 $n$($1 \leq n \leq 750$)—— Dasha 的亲友数量。
接下来的 $n$ 行中,每行包含一条祝福语。每条祝福语仅由 'a' 和 'b' 两种字符组成。
所有祝福语的总长度不超过 $10000000$ 个字符。
输出格式
第一行输出时尚集合的最大大小。第二行输出参与该集合的丝带编号(假设它们按输入顺序从 $1$ 到 $n$ 编号)。如果有多个最大时尚集合,输出其中任意一个即可。
说明/提示
在样例中,保留第 3 条和第 4 条丝带也是可以接受的答案。
由 ChatGPT 5 翻译