首先我们推规律。发现无论怎么旋转都是旋转点左、右侧的两列交换后上下翻转,旋转点所在的列只有上下翻转。所以翻转前若xyz三个数在同一列,无论怎么翻转,翻转后xyz还在同一列上。
于是我们设初始网格的第一列为a,若这一列被翻转,则为大写字母A。
同理,那么初始网格就是
a b c d e f . . . abcdef... abcdef...
于是对于原来的序列 a b c abc abc对于B为中心旋转操作后为 B A C BAC BAC
那么对于n=5,我们需要什么操作呢?
显然至少有两个,第一个用来交换列之间的顺序,另一个用来改变列的大小写。
a b c d e a D C B e c