整体思路: 由初始序列出发每洗一次牌都对比一下洗完后的序列与给出的序列,如果相似则说明给出的序列的洗牌次数就是当前统计到的洗牌次数。 之后从给出的序列开始,枚举出错的位置,把相邻两张牌的位置交换,判断这种交换是否能减少一次错误,如果是则记录出错的位置,反向洗牌,递归进入下一层的枚举。如果不存在这种交换,则说明这次洗牌没有出错,反向洗牌,递归进入下一层的枚举,直到把扑克牌还原成初始序列。 如何定义“相似”? 我们定义一个给定序列与相同洗牌次数的正确的序列的差异函数:给定序列变成正确序列的最小的交换次数,即出错的次数。如果差异函数值比较小则两个序列相似 如何界定‘’比较小‘’? 每次洗牌最多有