Mô tả
Tại siêu kho thương mại điện tử Tiki Bình Dương, một đội robot chở hàng tự hành di chuyển theo chuỗi lệnh văn bản do hệ thống điều phối gửi xuống. Bạn là kỹ sư phần mềm chịu trách nhiệm viết bộ lọc lệnh trước khi truyền cho robot.
Mỗi lệnh hợp lệ là một token có từ 2 đến 8 ký tự, chỉ chứa chữ cái in hoa (A-Z) và chữ số (0-9). Các token trong chuỗi lệnh được phân tách bởi một trong ba loại ký tự: khoảng trắng, dấu chấm phẩy hoặc dấu gạch chéo. Robot phải thực hiện theo nguyên tắc: nếu một lệnh xuất hiện nhiều lần thì chỉ thực hiện lần đầu tiên, các lần sau bỏ qua để tránh lặp thừa. Tuy nhiên, token có nội dung trùng nhưng khác kích thước (chẳng hạn AP3 và 0AP3) vẫn là hai lệnh khác nhau.
Nhiệm vụ của bạn: cho trước một chuỗi lệnh thô, hãy tách token, lọc bỏ các token sai định dạng, loại các trùng lặp và xuất danh sách lệnh cuối cùng theo đúng thứ tự xuất hiện đầu tiên.
Đầu vào
Một dòng duy nhất chứa chuỗi lệnh thô s.
Đầu ra
In ra các lệnh hợp lệ không trùng theo thứ tự xuất hiện, mỗi lệnh trên một dòng. Nếu không còn lệnh nào, in KHONG_CO_LENH.
Ràng buộc
- Độ dài chuỗi
s: 1 ≤ |s| ≤ 10^5. - Số ký tự phân tách liên tiếp có thể bằng 0, 1 hoặc nhiều.
Ví dụ
Ví dụ 1
Đầu vào:
MOVE;;MOVE FWD/123 123AB FWD
Các bước xử lý:
- Tách theo ký tự phân tách, nhận được các đoạn:
MOVE, (rỗng),MOVE,FWD,123,123AB,FWD. - Kiểm tra định dạng: tất cả đều hợp lệ (chỉ chữ in hoa và chữ số, dài 2-8).
- Lọc trùng lặp giữ lần đầu: MOVE, FWD, 123, 123AB.
Đầu ra:
MOVE FWD 123 123AB