Câu đố:
Xem xét một trò chơi cầm tay / trò chơi cầm tay với một d-pad nơi bạn được yêu cầu nhập tên của các loại. Điều này xuất hiện trong nhiều trò chơi cũ trước khi việc sử dụng QWERTY được phổ biến trong các bảng điều khiển (ví dụ: tôi tin rằng Wii sử dụng bố cục bàn phím QWERTY cho đầu vào). Thông thường, bàn phím trên màn hình trông giống như hiệu ứng của *:
Mặc định:
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 _ + ^ =
Với trường hợp được chuyển đổi:
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 - + ^ =
Đó là, tất cả các phím chữ và số và sau đây:
_
: Một khoảng
-
trắng
+
: Dấu gạch nối : Chỉ chuyển đổi trường hợp cho chữ cái tiếp theo
^
: Chuyển đổi khóa mũ (nghĩa là chuyển đổi trường hợp của tất cả các chữ cái)
=
: Nhập, hoàn tất
* Rõ ràng là tôi đã thay thế các khóa như "BKSP" và "ENTER" bằng các phiên bản ngắn hơn
Và sau đó là phần cứng sẽ bao gồm một d-pad (hoặc một số hình thức kiểm soát, nơi bạn có thể đi up
, down
, left
và right
)
Màn hình cũng thường cho phép bạn di chuyển trực tiếp từ bên này sang bên kia. Đó là, nếu bạn tập trung vào bức thư J
, nhấn right
sẽ cho phép bạn chuyển sang bức thư A
.
Bất cứ khi nào tôi nhập tên của mình, tôi luôn cố gắng tìm ra cách nhanh nhất để làm điều đó.
Mục tiêu:
Chương trình của bạn sẽ lấy đầu vào chuỗi có thể bao gồm bất kỳ ký tự chữ và số nào bao gồm dấu cách và dấu gạch nối và mục tiêu của bạn là xuất số lần nhấn phím ngắn nhất trên d-pad để xuất chuỗi cần thiết.
Cân nhắc:
Bạn không cần bao gồm phím được nhấn để nhấn ký tự thực tế.
Lấy nét luôn bắt đầu tại A
Enter =
phải được nhấn ở cuối
Thí dụ:
input: Code Golf
output: 43
Giải thích:
A
-> C
= 2
C
-> ^
= 6 (di chuyển sang trái)
^
-> 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
Lưu ý rằng đánh nhanh hơn +
hai lần cho a _
và a G
hơn là đánh ^
một lần, sau đó trao đổi lại.
Việc gửi chiến thắng (tôi sẽ cho phép ít nhất 1w) sẽ là giải pháp ngắn nhất (tính bằng byte). Vì đây là câu hỏi đầu tiên của tôi, tôi hy vọng điều này rõ ràng và không quá khó.