ちょうど4からなる4×4テキスト・グリッドにかかるプログラムや関数を書くA
の、4 B
、の4 C
の、及び4 D
の、例えば:
ACDC
BBCA
BADD
ABCD
のABCD
配置は任意ですが、常に4つあります。入力が有効であると想定できます。必要に応じて、末尾に改行があるか、読み取り順序で1行になっていると仮定することもできますACDCBBCABADDABCD
。また、必要に応じて、文字ABCD
を0123
またはで置き換えることも1234
できます(ただし、それだけです)。
テキストグリッドに反射対称または回転対称の形式がある場合、真理値を出力します。具体的には:
対称の中央の水平線がある場合。例えば
BACD BACD BACD \___ bottom mirrors top BACD /
対称の中心垂直線がある場合。例えば
BCCB DAAD CAAC BDDB \/___ right mirrors left
対称の対角線がある場合(どちらの方向にも)。例えば
___ diagonally mirrored / ABDC BACD DCAB CDBA \___ diagonally mirrored
90°回転対称がある場合。例えば
BDAB ACCD same if rotated 90 degrees (or 180 or 270) DCCA BADB
180°回転対称がある場合。例えば
DBCA BDCA same if rotated 180 degrees ACDB ACBD
(ここでは並進対称性が作用しないことに注意してください。)
グリッドに上記の対称性がない場合、偽の値を出力します。たとえば、最初の例のグリッド。
バイト単位の最短コードが優先されます。