Giới thiệu
Một đóng cửa palindromic của một chuỗi đầu vào là palindrom ngắn nhất có thể được xây dựng từ chuỗi đầu vào nơi palindrom cuối cùng bắt đầu với chuỗi đầu vào.
Đối với thử thách này, chúng tôi sẽ xem xét việc đóng cửa hai chiều như vậy
- Trái Palindromic Đóng của một chuỗi đầu vào là palindrom ngắn nhất có thể bắt đầu bằng chuỗi đầu vào.
- Đóng Palindromic phải của một chuỗi đầu vào là palindrom ngắn nhất có thể kết thúc bằng chuỗi đầu vào.
- Đóng cửa Palindromic hai chiều của một chuỗi đầu vào là ngắn hơn của Đóng cửa Palindromic bên trái hoặc bên phải của chuỗi đầu vào.
Bài tập
Nhiệm vụ của bạn rất đơn giản. Đưa ra một chuỗi (chỉ bao gồm ASCII có thể in, các dòng mới và khoảng trắng), xuất ra đóng cửa hai chiều của chuỗi đó. Trong trường hợp hòa, một trong hai lần đóng cửa bên trái hoặc bên phải là đầu ra hợp lệ.
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và in kết quả sang STDOUT (hoặc thay thế gần nhất) hoặc trả về dưới dạng chuỗi.
Bạn có thể giả định rằng đầu vào sẽ không bao giờ là một chuỗi rỗng.
Một vài ví dụ:
<Input> -> <Output>
"abcdef" -> "abcdefedcba" (or "fedcbabcdef")
"abcba" -> "abcba"
"abcb" -> "abcba"
"cbca" -> "acbca"
Tín dụng ý tưởng ban đầu được chuyển đến VisualMelon, ý tưởng cuối cùng với sự giúp đỡ từ Martin và Zgarb
Các thuật ngữ đóng cửa palindromic, đóng cửa pallindromic trái và đóng cửa palindromic phải được sử dụng và định nghĩa đầu tiên bởi bài viết này .