最初,机架是空的;它不包含金属字母。在打印结束时, 古腾堡被允许在机架上留下信件。此外,他被允许打印单词 以他喜欢的任何顺序。由于每个操作都需要时间,他希望尽量减少 总运营数量。
例如,他可以在20个行动中做到这一点:Gutenburg应打印出三个单词,{print,the,poem}, 这是的过程添加t,添加h,添加e,打印,删除最后一个字母(三次),添加p,添加o, 添加e,添加m,打印,删除最后一个字母(三次),添加r,添加i,添加n, 添加t,打印。
在以下每种情况下,确定所需的最小操作数 以任何顺序打印出集合中的所有单词,一次打印一个单词。
(a){那里,他们,她,岸,三,树,休息,因此,钍,因此,门槛}
(b){问题,徽章,打印机,普拉迪普,波兰,荷兰,私人,帕特里克,诡计,滚轴,别针}
(c){维度,除法,除法,偏差,包络,距离,方向,直接,推导,发展}
我已经尝试但每次都失败了。第一个问题的答案是88-I,总是得到93 2到120就是答案。 第3~115就是答案。 我每次都出错了。 只需解决这里的三个问题中的一个问题,我将使用first-solve的解决方案来解决剩下的问题并展示其中一个问题。 提前谢谢。
答案 0 :(得分:3)
因此,一旦你确定了打印单词的顺序,很明显该订单的最小操作数是多少:它是单词的总数(对于“打印”操作),加上总数您打印的第一个单词的长度,以及每个其他单词的长度,您需要从上一个单词的末尾删除的字母数,以及为完成新单词而需要添加的字母数。
至于决定打印单词的顺序,实际上只有两种方法可以保存操作:
所以,例如,对于 {那里,他们,她,岸,三,树,休息,因此,钍,因此,阈值} 我们有:
letters to remove letters to add print!
----------------- -------------- ------
hence 0 5 1
her 3 1 1
rest 3 4 1
shore 4 5 1
tree 5 4 1
theirs 3 5 1
there 3 2 1
therefore 0 4 1
thorium 7 5 1
three 5 3 1
threshold 1 5 1
(您可以看到我在树下移动了 th - 字以便以阈值结束)。在表中添加数字,我们得到88,正如预期的那样。