P15606 [ICPC 2021 Jakarta R] Uniform Maker

题目描述

国际服装道具公司(ICPC)接到客户订单,需要生产 $N$ 面旗帜,每面旗帜上印有相同的单词。然而,由于客户经理与客户之间的沟通失误,并非所有生产出的旗帜上都印有相同的单词,尽管所有单词的长度一致。重新制作这些旗帜成本高昂,因为 ICPC 在生产中只使用某种稀有布料。 幸运的是,客户并未指定他们想要的单词。事实上,只要所有旗帜上的单词相同,客户就会满意。 ICPC 拥有一项特殊技术,可以将单词中的一个字符改为另一个字符。这项技术成本高昂,但比重新制作一面新旗帜要便宜。因此,ICPC 需要最小化使用该技术的次数。你的任务是帮助 ICPC 确定使客户满意所需的最少总修改字符数。 例如,有 $N = 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* 符号 * 表示未修改的字符。此例中总共需要修改 $14$ 个字符。

输入格式

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

输出格式

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

说明/提示

翻译由 DeepSeek 完成