Đưa ra một đầu vào của một danh sách các lát của một chuỗi, xuất ra chuỗi gốc.
Mỗi lát sẽ được đưa ra dưới dạng một danh sách có độ dài 2, chứa vị trí bắt đầu của lát (số nguyên ≥0) và chính lát đó. Nếu ngôn ngữ của bạn không hỗ trợ mảng các loại tùy ý, bạn cũng có thể coi đây là cấu trúc hoặc tương tự hoặc đơn giản là một chuỗi bao gồm số, khoảng trắng và sau đó là lát cắt.
Thứ tự của hai yếu tố của mỗi lát tùy thuộc vào bạn. Hơn nữa, nếu bạn chọn sử dụng biểu diễn các lát như một mảng có độ dài 2, bạn có thể lấy đầu vào là mảng 2 chiều hoặc mảng phẳng đơn. Cuối cùng, vị trí đại diện số nguyên có thể là chỉ mục 0 hoặc chỉ mục một (tất cả các ví dụ ở đây là không có chỉ mục).
Đầu vào sẽ luôn đủ để xác định toàn bộ chuỗi lên đến vị trí cao nhất được đưa ra. Đó là, sẽ không có "lỗ hổng" hay "khoảng trống". Do đó, đầu ra không được chứa bất kỳ ký tự kéo dài hoặc ký tự đứng đầu nào (ngoài dòng mới theo dõi tùy chọn điển hình). Đầu vào sẽ luôn nhất quán và không có lát cắt nào xung đột với nhau.
Vì đây là môn đánh gôn , mã ngắn nhất tính bằng byte sẽ thắng.
Các trường hợp thử nghiệm:
In Out
-----------------------------------------------------------
[[2, "CG"], [0, "PP"], [1, "PC"]] | PPCG
[[0, "foobarbaz"]] | foobarbaz
[[0, "foobar"], [6, "baz"]] | foobarbaz
[[2, "ob"], [5, "rba"], [0, "fooba"], [8, "z"]] | foobarbaz
[[0, "fo"], [0, "fooba"], [0, "foobarbaz"]] | foobarbaz