소개
베이커의지도는 혼란스러운 행동을 나타내는 중요한 동적 시스템입니다. 단위 사각형에서 다음과 같이 직관적으로 정의 된 기능입니다.
- 정사각형을 세로로 반으로 자르면 크기가 두 개의 직사각형이
0.5×1
됩니다. - 왼쪽 상단에 오른쪽 절반을 쌓아 하나의 사각형 크기로 만듭니다.
0.5×2
- 사각형을 다시 사각형으로 압축하십시오
1×1
.
이 과제에서는이 변환의 개별 버전을 구현하게됩니다.
입력과 출력
입력 내용은 인쇄 가능한 ASCII 문자와 2m×2n
일부 공백을 2D로 배열 한 것입니다 m, n > 0
. 출력은 배열을 사용하여 다음과 같이 얻은 비슷한 6×4
배열입니다
ABCDEF
GHIJKL
MNOPQR
STUVWX
예로서. 먼저 배열의 오른쪽 절반을 왼쪽 절반 위에 쌓으십시오.
DEF
JKL
PQR
VWX
ABC
GHI
MNO
STU
그런 다음 열을 한 쌍의 문자로 나누고 각 쌍을 시계 방향으로 90도 회전하여 큰 사각형을 원래 모양으로 "압축"합니다.
JDKELF
VPWQXR
GAHBIC
SMTNUO
위의 배열에 대한 올바른 출력입니다.
규칙
입력 및 출력 형식이 유연합니다. 줄 바꿈으로 구분 된 문자열, 문자열 목록 또는 2D 문자 배열을 사용할 수 있습니다. 그러나, 입력 및 출력 해야한다 동일한 형식이 : 당신은 어떤 유효한 입력에 제출 원하는만큼 반복 할 수 있어야합니다.
전체 프로그램이나 함수를 작성할 수 있습니다. 가장 낮은 바이트 수가 이기고 표준 허점은 허용되지 않습니다.
테스트 사례
Input:
12
34
Output:
42
31
Input:
Hell
! o
d -
lroW
Output:
lol
o W-
!H e
ldr
Input:
ABCDEF
GHIJKL
MNOPQR
STUVWX
Output:
JDKELF
VPWQXR
GAHBIC
SMTNUO
Input:
*___ ___ o
o|__) |__) *
*| | o
o __ __ *
*| | _ o
o|__ |__| *
Output:
|_____) *o
|_ _ *o
||_ __| *o
o*|_____)
o* |_ _
o*||_ _