An và Bình đều đều tham gia bồi dưỡng đội tuyển học sinh giỏi môn tin học; khi 2 bạn cùng nghiên cứu về xâu ký tự. Bình muốn thử tài An về khả năng so sánh các xâu trong lập trình. Thực ra việc so sánh hai xâu theo An biết là tuân theo quy tắc so sánh xâu đã được học và phụ thuộc vào độ dài và vị trí các kí tự trong bảng mã ASCII. Tuy nhiên ở đây Bình lại muốn An so sánh các số được biểu diễn bằng xâu. Bình cho An một loạt các xâu và yêu cầu An sắp xếp các xâu này lại theo quy tắc mà Bình đặt ra như sau:
- Các xâu có chứa các kí tự khác kí tự chữ số thì giữ nguyên vị trí ban đầu.
- Các xâu biểu diễn số bằng các kí tự chữ số thì được sắp xếp lại theo thứ tự tăng dần.
Dữ liệu vào: Cho từ tệp văn bản Sortx.Inp gồm 2 dòng:
Dòng 1 ghi số nguyên dương N(N < 100).
Dòng 2 ghi một dãy gồm N xâu S_1,S_2,S_N chỉ bao gồm chữ số từ 1 đến 9 và các chữ cái La tinh.
Kết quả: Ghi ra tệp văn bản Sortx.Inp gồm 1 dòng là dãy xâu trên đã được sắp xếp theo quy tắc mà Bình yêu cầu.
Ví dụ:
Sortx.inp |
Sortx.out |
Giải thích |
5 12 abc23 1456 ab 23 |
12 abc23 23 ab 1456 |
Giữ nguyên vị trí xuất hiện của xâu abc23, ab và sắp xếp lại vị trí xuất hiện của xâu: 12, 1456, 23 thành 12, 23, 1456 |
7 123 a 13 bc 345 23hh 10 |
10 a 13 bc 123 23hh 345 |
Giữ nguyên vị trí xuất hiện của xâu a, bc,23hh và sắp xếp lại vị trí xuất hiện của xâu: 123, 13, 345, 10 thành 10, 13, 123, 345
|