정확히 4 A
, 4 B
, 4 C
및 4 로 구성된 4 × 4 텍스트 그리드를 취하는 프로그램 또는 함수를 작성하십시오 D
.
ACDC
BBCA
BADD
ABCD
의 ABCD
배치는 가능하지만 항상 4 개가 있습니다. 입력이 유효하다고 가정 할 수 있습니다. 원하는 경우 줄 바꿈 줄이 있거나 읽기 순서에서 한 줄로 표시되는 것으로 가정 할 수도 있습니다 (예 :) 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
(번역 대칭은 여기서 작동하지 않습니다.)
그리드에 위에서 언급 한 대칭 중 하나가없는 경우 잘못된 값을 출력합니다. 예를 들어 첫 번째 예제 그리드.
바이트 단위의 가장 짧은 코드가 이깁니다.