An 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 xế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 '
a
' thì chỉ giữ lại một; - Nếu có nhiều hơn hai chữ cái '
b
' thì chỉ giữ lại hai, ngược lại giữ nguyên; - Nếu có nhiều hơn ba chữ cái '
c
' thì chỉ giữ lại ba, ngược lại giữ nguyên; - ...
- Nếu có nhiều hơn 26 chữ cái '
z
' thì chỉ giữ lại 26, ngược lại giữ nguyên;
- Nếu có nhiều hơn một chữ cái '
- Ghép dãy T vào 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 vào từ tệp văn bản CAU3.INP
gồm:
- Dòng đầu tiên chứa số nguyên n (2 \leq n \leq 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 chữ cái hợp lệ đó.
Kết quả ghi ra tệp văn bản CAU3.OUT
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.
Chấm điểm:
- 20% số điểm: mật khẩu chỉ gồm chữ cái
a
; - 40% số điểm: mật khẩu chỉ gồm các chữ cái giống nhau;
- 40% số điểm còn lại không có ràng buộc gì thêm.
Ví dụ:
Example 1
CAU3.INP
19
abbracadabraabbcdrr
CAU3.OUT
abbracadabra
Example 2
CAU3.INP
10
dddddddddd
CAU3.OUT
dddddd
Giải thích:
Ví dụ 1: 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ó "aaaaaabbbcdrr
". 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: 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
'.
Comments