#P15606. [ICPC 2021 Jakarta R] Uniform Maker

[ICPC 2021 Jakarta R] Uniform Maker

题目描述

国际服装道具公司(ICPC)接到客户订单,需要生产 NN 面旗帜,每面旗帜上印有相同的单词。然而,由于客户经理与客户之间的沟通失误,并非所有生产出的旗帜上都印有相同的单词,尽管所有单词的长度一致。重新制作这些旗帜成本高昂,因为 ICPC 在生产中只使用某种稀有布料。

幸运的是,客户并未指定他们想要的单词。事实上,只要所有旗帜上的单词相同,客户就会满意。

ICPC 拥有一项特殊技术,可以将单词中的一个字符改为另一个字符。这项技术成本高昂,但比重新制作一面新旗帜要便宜。因此,ICPC 需要最小化使用该技术的次数。你的任务是帮助 ICPC 确定使客户满意所需的最少总修改字符数。

例如,有 N=6N = 6 面旗帜,上面的单词分别为:calf、palm、book、icpc、ball 和 room。如果将所有单词改为 balm,则所需修改的总字符数最少。

  • calf → 修改 2 个字符:b**m
  • palm → 修改 1 个字符:b***
  • book → 修改 3 个字符:*alm
  • icpc → 修改 4 个字符:balm
  • ball → 修改 1 个字符:***m
  • room → 修改 3 个字符:bal*

符号 * 表示未修改的字符。此例中总共需要修改 1414 个字符。

输入格式

输入第一行包含两个整数 NNMM2N1002 \leq N \leq 1001M1001 \leq M \leq 100),分别表示旗帜数量和每面旗帜上单词的长度。接下来 NN 行,每行包含一个字符串 SiS_iSi=M|S_i| = M),表示第 ii 面旗帜上的单词。每个字符串仅包含小写字母。

输出格式

输出一行一个整数,表示使客户满意所需的最少总修改字符数。

6 4
calf
palm
book
icpc
ball
room
14
3 11
goodluckfor
icpcjakarta
contestants

19
5 14
helpiamtrapped
inanincfactory
forthreemonths
withoutfoodand
drinkandshower
49

提示

翻译由 DeepSeek 完成