题目描述
小A有n个长度都是L的字符串。这些字符串只包含前8个小写字符,’a’~’h’。但这些字符串非常的混乱,它们几乎长得互不相同。小A想通过一些规则,让它们长得尽可能相同。小A现在有K次机会,他可以每次机会,可以选择一对字符x,y,让x,y变成等价的字符(注意这里x,y和字符’x’, ‘y’不是一样的,只是个代号)。注意,等价关系是有传递性的。比如小A让’a’和’b’等价, ‘b’和’c’等价,那么’a’和’c’等价。 对于两个长度字符串P,Q是等价的,当且仅当对于每一位,P的字符和Q的字符都是等价的。 小A希望你告诉他,要怎么利用好这K次机会(当然可以不用完),使得尽可能多对字符串是等价的。注意每对字符串只能算一次。
输入描述:
第一行输入三个整数n,L,K。接下来n行,每行给出一个长度为L的字符串。
输出描述:
输出一行一个整数,代表最多可能的等价的字符串对。
示例1
输入
5 4 2
ccdd
babd
bdcd
ccda
bacd
输出
4
说明
让字符a和字符d等价,字符b和字符c等价。
备注:
数据包含10个数据点。每个数据点可能有不同的特性。对于第1,2个数据点:保证每个字符串只包含前4个小写字母对于第3,4个数据点:每个字符串都只包含一种字母对于第5,6个数据点:n<=10,L<=100对于所有数据,满足:n <= 100, L <= 1000,K <= 28,每个字符串只包含前8个小写字母
来源:nkw