[HSG_QT_24] Mật khẩu
Xem dạng PDFAn tạo cho mình một mật khẩu bằng cách sinh ra một dãy ~S~ gồm các chữ cái Latin in thường viết liền nhau. Sau đó bạn thực hiện các bước sau:
- Sắp các chữ cái trong mật khẩu theo thứ tự từ điển;
- Trong dãy ký tự đã sắp, An tạo ra một dãy mới ~T~ từ ~S~ bằng cách chỉ giữ lại số lượng chữ cái tương ứng với số thứ tự của nó trong bảng chữ cái:
- Nếu có nhiều hơn một chữ cái
athì chỉ giữ lại một; - Nếu có nhiều hơn hai chữ cái
bthì chỉ giữ lại hai, ngược lại thì giữ nguyên; - Nếu có nhiều hơn ba chữ cái
cthì chỉ giữ lại ba, ngược lại thì giữ nguyên; - ...
- Nếu có nhiều hơn ~26~ chữ cái
zthì chỉ giữ lại ~26~, ngược lại thì giữ nguyên.
- Nếu có nhiều hơn một chữ cái
- Ghép dãy ~T~ vào sau dãy ~S~ và ghi dãy thu được vào sổ tay của mình.
Sau một thời gian, An không thể tìm ra mật khẩu (~S~) của mình nữa.
Yêu cầu
Từ dãy chữ cái đã ghi trong sổ tay của An, bạn hãy giúp An tìm lại mật khẩu (~S~).
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng đầu tiên chứa số nguyên ~n~ ~(2 \le n \le 5 \times 10^5)~ là số chữ của dãy chữ cái trong sổ tay của An;
- Dòng thứ hai chứa dãy chữ cái hợp lệ đó.
Dữ liệu đầu ra
Gồm một dòng ghi dãy chữ cái Latin in thường là mật khẩu (~S~) tìm được.
Ràng buộc dữ liệu
- Có 20% số điểm: mật khẩu chỉ gồm chữ cái
a; - Có 40% số điểm: mật khẩu chỉ gồm các chữ cái giống nhau;
- Có 40% số điểm còn lại không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
19
abbracadabraabbcdrr
OUTPUT
abbracadabra
Giải thích: Dãy ký tự tương ứng với mật khẩu abbracadabra sau khi sắp xếp theo thứ tự từ điển ta có aaaaabbbcdrr. Do a có nhiều hơn một nên chỉ giữ lại một, b chỉ giữ lại hai, c, d, rr giữ nguyên (r có thứ tự ~18~ trong bảng chữ cái). Dãy ~T~ thu được abbcdrr. Dãy ký tự được ghi vào sổ tay là dãy abbracadabraabbcdrr.
Ví dụ 2
INPUT
10
dddddddddd
OUTPUT
dddddd
Giải thích: Do mật khẩu dddddd có nhiều hơn bốn chữ cái nên An chỉ giữ lại bốn. ~4~ chữ d ghép vào sau mật khẩu tạo ra dãy ghi trong sổ tay có 10 chữ cái d.
Bình luận