나는 로봇이다. 쉬운 직사각형 레이아웃으로 인해이 키보드를 구입 했습니다 .
~` !1 @2 #3 $4 %5 ^6 &7 *8 (9 )0 _- +=
tab Qq Ww Ee Rr Tt Yy Uu Ii Oo Pp {[ }] \|
Aa Ss Dd Ff Gg Hh Jj Kk Ll :; "' [-enter-]
Zz Xx Cc Vv Bb Nn Mm <, >. ?/
[========= space =========]
휴먼 텍스트를 인쇄하려면 조작자가 해석 할 수있는 명령으로 변환해야합니다. 왼쪽 조작자가 Shift키 위로 마우스를 가져갑니다 . 처음에는 오른쪽 조작자가 ~키 를 가리 킵니다 . 조작자가 이해하는 명령은 다음과 같습니다.
S : press the shift key
s : release the shift key
L : move the right manipulator left by 1
R : move the right manipulator right by 1
U : move the right manipulator up by 1
D : move the right manipulator down by 1
P : press the key under the right manipulator
p : release the key by the right manipulator
ASCII 메시지를 명령 목록으로 변환하는 코드를 작성하십시오. 입력은 95 개의 인쇄 가능한 ASCII 문자를 포함 할 수 있습니다. TAB 및 개행 문자도 가능합니다. 출력은 조작자에 대한 명령 목록이어야합니다.
예를 들어을 입력하기 Hello World!
위해 명령은
SRRRRRRDDPp
sLLLUPp
RRRRRRDPp
Pp
UPp
LLLLDDDPp
SLLLUUUPp
sRRRRRRRPp
LLLLLPp
RRRRRDPp
LLLLLLPp
SLLUUPp
각 메시지를 인쇄하기 전에 조작기를 초기 상태로 재설정했습니다.
적절한 프로그래밍으로 피해야 할 기계적 위험이 있습니다.
- 움직이는 (
LRUD
인쇄시 (허용)가P
) 결합되지 - 조작기의 재밍 없음 : 조작자가 작동되면 (
S
또는P
)이 조작기에 대한 다음 명령이 해제 (s
또는p
) 되어야 하며 그 반대도 마찬가지입니다. 불필요한 이동은 각각 두 시프트 (간
s
,S
) 동작하는이 없어야P
명령따라서 인쇄하려면
~~
명령SPpPp
이 유효하지만 유효SPpsSPp
하지 않습니다.범위를 벗어나는 이동 없음 : 이동 명령이 없어야 오른쪽 조작기를 13 개 이상의 공간에서 오른쪽으로 또는 4 개의 위치에서 초기 위치의 맨 아래 (또는 스팟을 위 또는 왼쪽으로 이동)
추가 사항 :
- 비활성화 된 키 (같은 명령 순서
DDPp
)를 누르면 아무 키도 누르지 않고 허용됩니다. - Shift+ Tab를 눌러도 효과는 없지만 Shift+ Space와 Shift+ Enter는 효과가없는 것과 같습니다 Shift.
- 스페이스 바와 Enter키 의 아무 지점이나 누르면 동일한 효과가 있습니다.
- 출력의 공백 키는 의미가 없지만 아름다운 방식으로 형식을 지정하는 데 사용할 수 있습니다.
Pp
? 내가 볼 수있는 한, 그것들은 항상 하나의 행동이며 그 자체로 P
또는 전혀 p
나타날 수 없습니다 .