Cảm ơn @KritixiLithos đã giúp tôi vượt qua thử thách này!
V là một ngôn ngữ lập trình mà tôi đã viết để tôi có thể sử dụng và mở rộng vim cho các thử thách chơi gôn. Cam kết đầu tiên là vào ngày 3 tháng 3 năm 2016, nghĩa là hôm nay V tròn một tuổi! Woo-hoo
Trong năm đầu tiên tồn tại của V, đã có 176 cam kết từ bốn người đóng góp khác nhau, 140 câu trả lời từ 12 người dùng khác nhau và quá nhiều toán tử trùng lặp bị hỏng . Nó có một trình thông dịch trực tuyến , được lưu trữ rộng rãi bởi @Dennis, đã được điều hành gần 8.000 lần kể từ tháng 12 .
Hãy có một thử thách để chúc mừng sinh nhật của V! Vì hầu hết các tính năng trong V được thiết kế với thao tác chuỗi và nghệ thuật ascii , nên có vẻ như bất kỳ thách thức nào để tôn vinh V nên là về nghệ thuật ascii. Vì vậy, thách thức của bạn cho ngày hôm nay là lấy một từ làm đầu vào và định hình lại từ đó theo hình chữ V. Ví dụ: đầu vào "Xin chào" sẽ cho V sau:
Hello olleH
Hello olleH
Hello olleH
Hello olleH
Hello olleH
HellolleH
HellleH
HeleH
HeH
H
Dưới đây là một số chi tiết về những gì V của bạn sẽ trông như thế nào. Nếu chuỗi đầu vào dài n ký tự, thì V phải n*2
cao dòng. Dòng đầu tiên phải bao gồm:
<input string><(n*2) - 1 spaces><input string reversed>
Trên mỗi dòng mới, một khoảng trắng được thêm vào đầu và hai bên của chuỗi di chuyển về phía nhau, loại bỏ bất kỳ ký tự chồng chéo nào. Cho đến dòng cuối cùng, đó chỉ là ký tự đầu tiên của đầu vào. Khoảng trắng lưu trữ trên mỗi dòng là chấp nhận được và một dòng mới cũng được cho phép.
Bạn có thể giả định rằng đầu vào sẽ luôn có thể in ASCII mà không có bất kỳ khoảng trắng nào trong đó và bạn có thể lấy đầu vào và đầu ra theo bất kỳ phương thức hợp lý nào. Dưới đây là một số mẫu đầu vào:
Happy:
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
HappyppaH
HapppaH
HapaH
HaH
H
Birthday:
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
BirthdayadhtriB
BirthdadhtriB
BirthdhtriB
BirthtriB
BirtriB
BiriB
BiB
B
V!:
V! !V
V! !V
V!V
V
~:
~ ~
~
Tất nhiên, vì đây là môn đánh gôn , các sơ hở tiêu chuẩn bị cấm và mục tiêu của bạn là viết chương trình ngắn nhất có thể để hoàn thành nhiệm vụ này. Chúc bạn chơi golf vui vẻ!
Đối với những gì nó có giá trị, tôi có một điểm mềm cho câu trả lời vim, vì vậy điểm thưởng tưởng tượng cho việc sử dụng vim hoặc V, mặc dù bất kỳ ngôn ngữ nào cũng được chấp nhận. :)