Hầu như mọi ngôn ngữ đều có chức năng tích hợp có thể phân tách một chuỗi tại một vị trí nhất định. Tuy nhiên, ngay khi bạn có các thẻ html trong chuỗi, hàm tích hợp sẽ không hoạt động đúng.
Nhiệm vụ của bạn là viết một chương trình hoặc hàm chia chuỗi ở ký tự thứ n nhưng không tính các ký tự của thẻ html và sẽ xuất ra một html hợp lệ. Chương trình phải giữ định dạng. Không gian bên ngoài các thẻ html có thể được tính hoặc không được tính, như bạn muốn, nhưng phải được giữ nguyên. Tuy nhiên, bạn có thể trao đổi nhiều không gian liên tiếp thành một không gian duy nhất.
Đầu vào:
- chuỗi
- vị trí để phân chia tại (dựa trên 0)
Chúng có thể được lấy làm đối số chương trình hoặc hàm hoặc có thể được đọc từ đầu vào tiêu chuẩn.
Đầu ra: Chuỗi phân tách có thể được trả về hoặc ghi vào đầu ra tiêu chuẩn.
Đầu vào sẽ là html hợp lệ, nó sẽ không chứa bất kỳ thực thể nào (chẳng hạn như
). Các thẻ được mở sau giới hạn ký tự nên được bỏ qua từ đầu ra (xem ví dụ cuối cùng).
Thí dụ:
Đầu vào : <i>test</i>
, 3
Đầu ra:<i>tes</i>
Đầu vào : <strong><i>more</i> <span style="color: red">complicated</span></strong>
, 7
Đầu ra:<strong><i>more</i> <span style="color: red">co</span></strong>
Đầu vào : no html
, 2
Đầu ra:no
Đầu vào : <b>no</b> <i>html root</i>
, 5
Đầu ra:<b>no</b> <i>ht</i>
Đầu vào : <b>no img</b><img src="test.png" />more text
, 6
Đầu ra:<b>no img</b>
Bạn có thể sử dụng bất kỳ ngôn ngữ và thư viện tiêu chuẩn của ngôn ngữ đã cho. Đây là mã golf, chương trình chiến thắng ngắn nhất. Chúc vui vẻ!
<
và >
thay vì <>
, vì vậy không ( <
hoặc >
sẽ không có mặt).
<i>ab</i><b>cd</b> 1
?
<i>a</i>
không?
<i>a</i><b></b>
(Điều này có ý nghĩa nếu bạn xem xét điều đó b
cũng có thể div
hoặc img
.)