퍼즐 :
종류의 이름을 입력해야하는 d- 패드가있는 콘솔 / 핸드 헬드 게임을 고려하십시오. 이것은 QWERTY 사용이 콘솔에서 대중화되기 전에 많은 오래된 게임에서 나타났습니다 (예를 들어 Wii는 입력에 QWERTY 키보드 레이아웃을 사용한다고 생각합니다). 일반적으로 화상 키보드는 다음과 같은 효과를 나타냅니다.
태만:
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J
K L M N O P Q R S T
U V W X Y Z _ + ^ =
케이스를 전환 한 상태 :
0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j
k l m n o p q r s t
u v w x y z - + ^ =
즉, 모든 영숫자 키 및 다음과 같습니다.
_
: 단일 공백
-
: 하이픈
+
: 다음 문자 전용 대소 문자
^
전환 : 대문자 잠금 전환 (즉, 모든 문자 대소 문자 전환)
=
: 입력, 완료
* "BKSP"및 "ENTER"와 같은 키를 더 짧은 버전으로 바꿨습니다.
그리고 하드웨어는 D 패드 (또는 당신이 갈 수있는 컨트롤의 형태 포함 할 것 up
, down
, left
과 right
)
화면은 일반적으로 한쪽에서 다른쪽으로 직접 이동할 수 있습니다. 즉, 당신이 편지에 초점을 맞춘 경우를 J
누르면 편지 right
로 이동할 수 있습니다 A
.
이름을 입력 할 때마다 항상 가장 빠른 방법으로 운동하려고합니다.
골:
프로그램은 공백과 하이픈을 포함한 모든 영숫자 문자를 포함 할 수있는 문자열 입력을 사용하며, 목표는 d-pad 에서 가장 짧은 키 누름 을 출력하여 필요한 문자열을 출력하는 것입니다.
고려 사항 :
실제 문자 를 누르기 위해 누른 키를 포함 할 필요는 없습니다 .
(가)에서 초점은 항상 시작 A
입력 =
해야 누르면 끝
예:
input: Code Golf
output: 43
설명 :
A
-> C
= 2-
C
> ^
= 6 (왼쪽으로 이동)
^
-> o
= 5-
o
> d
= 2-
d
> e
= 1-
e
> +
= 5-
+
> _
= 1-
_
> +
= 1-
+
> G
= 3-
G
> o
= 3-
o
> l
= 3-
l
> f
= 5-
f
> =
= 6
이 것을 빨리 주 명중하는 +
A의 두 배를 _
하고 G
그것을 공격하는 것보다 ^
다음 번 스왑 등을.
우승작 (최소 1w는 허용)이 가장 짧은 솔루션 (바이트)입니다. 이것이 첫 번째 질문이므로 명확하고 어렵지 않기를 바랍니다.