← 完整题目索引

PROJECT EULER · #0868

钟楼数学

Belfry Maths

仅题目 · 待解原题 ↗

打铃者使用一种方法来生成打铃顺序的所有变体。

可以使用相同的方法来创建一组字母的所有排列。考虑最初按从小到大的顺序排列的字母。在每一步中,将最大的字母与其左侧或右侧的字母交换,以生成尚未见过的排列。如果两者都没有给出新的排列,则尝试下一个最大的字母,依此类推。此过程一直持续到生成所有排列为止。

例如,当从 ABC 开始时,3 需要交换才能达到排列 CBA。
互换为 ABC ACB CAB CBA。
当以这些字母按字母顺序排列时,还需要 59 交换才能到达 BELFRY。

按字母顺序从这些字母开始,求出达到 NOWPICKBELFRYMATHS 所需的交换次数。

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。