マトリックス内の2x2ブロックごとに回転する
チャレンジ 整数で満たされたn x m行列が与えられた場合n > 1m > 1 1 2 3 4 5 6 2x2マトリックス内のブロックと正確に同じ数の値を持つ整数のリスト((n-1)*(m-1)正確な数が必要な場合) [1、2] 2x2リスト内の現在の値で指定された順序で各ブロックを回転させた行列を出力します。上記の例では、 4 6 2 5 3 1 最初のブロックは1回右に回転し、2番目のブロックは2回右に回転します。 ノート 正の整数は、その数のステップだけ右に回転することを意味します。 負の整数は、その数のステップだけ左に回転することを意味します。 ゼロは回転しないことを意味します。 ブロックを行ごとに回転させます。つまり、最初の行から開始して右に移動します。その行のすべてのブロックを回転させたら、次のブロックに進みます。最後に、すべてのブロックが1回だけ回転しました。 ブロックは互いに重なり合っていることに注意してください。上記の最初のマトリックスには、ブロック[[1,2],[4,5]]など[[2,3],[5,6]]があります。 ブロックの各回転は、隣接するブロックの回転に影響します。これが、上記のパターンで回転を行わなければならない理由です。 ルール 最も便利な形式で入力することができます。どちらを使用するかを回答で指定してください。ただし、ブロック単位でマトリックスを読み取ることはできません。 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース ここでの入力形式は、マトリックスのリストのリストと値の通常のリストです。 [[1,2]、[3,4]]、[-3]-> [[4,1]、[3,2]] [[1,1,1]、[1,1,1]]、[-333、666]-> [[1,1,1]、[1,1,1]] [[1,2,3]、[4,5,6]]、[1,2]-> [[4,6,2]、[5,3,1]] [[1,2,3]、[4,5,6]、[7,8,9]]、[4,0,12、-20]-> [[1,2,3]、[4、 5,6]、[7,8,9]] [[1,2,3,4,5]、[5,4,3,2,1]、[1,2,3,4,5]]、[2、-3,4,1,6、 24,21、-5]-> …