最便宜的回文
跟踪所有的奶牛可能是一个棘手的任务,所以农夫约翰已经安装了一个自动化系统。他在每只牛上安装了一个电子ID标签,系统将在扫描仪通过奶牛时读取。每个ID标签的内容当前是从N(1≤N≤26)个不同符号(即小写罗马字母表)的字母表中绘出的长度为M(1≤M≤2000)个字符的单个字符串。
奶牛作为他们的调皮生物,有时试图通过向后走向欺骗系统。而ID为“abcba”的奶牛,无论她走哪一个方向,都会读取相同的奶牛,ID为“abcb”的奶牛可以注册为两个不同的ID(“abcb”和“bcba”)。
FJ想改变奶牛的ID标签,所以他们读取同样的东西,无论牛走哪边方向。例如,可以通过在末尾添加“a”来更改“abcb”,以形成“abcba”,以便ID是回文(读取相同的向前和向后)。将ID更改为回文的其他一些方法包括将三个字母“bcb”添加到开头以产生ID“bcbabcb”或删除字母“a”以产生ID“bcb”。可以在字符串中的任何位置添加或删除字符串,生成比原始字符串更长或更短的字符串。
不幸的是,由于ID标签是电子的,所以每个字符的插入或删除都有成本(0≤成本≤10,000),这取决于要添加或删除的字符值的准确性。鉴于牛的ID标签的内容和插入或删除每个字母的字符的成本,找到更改ID标签的最低成本,以满足FJ的要求。空的ID标签被认为是满足阅读相同的向前和向后的要求。只有带有相关费用的字母可以添加到字符串。
输入
行1:两个空格分隔的整数:N和M
行2:这行直接包含构成初始ID字符串的M个字符
行3 .. N + 2:每行包含三个空格分隔的实