PROJECT EULER · #0868
钟楼数学
Belfry Maths
打铃者使用一种方法来生成打铃顺序的所有变体。
可以使用相同的方法来创建一组字母的所有排列。考虑最初按从小到大的顺序排列的字母。在每一步中,将最大的字母与其左侧或右侧的字母交换,以生成尚未见过的排列。如果两者都没有给出新的排列,则尝试下一个最大的字母,依此类推。此过程一直持续到生成所有排列为止。
例如,当从 ABC 开始时,
互换为 ABC
当以这些字母按字母顺序排列时,还需要
按字母顺序从这些字母开始,求出达到 NOWPICKBELFRYMATHS 所需的交换次数。
题解待补充
这道题的题目已收录,解题思路、代码和答案将在后续补充。