Bài 3: Trò chơi xâu ký tự Bạn được cho một xâu ký tự gồm N ký tự. Đầu tiên, bạn được sắp xếp lại các ký tự trong xâu theo một thứ tự bất kỳ. Sau đó, hãy chia xâu ký tự này thành chính xác K xâu ký tự liên tiếp

Bài 3: Trò chơi xâu ký tự Bạn được cho một xâu ký tự gồm N ký tự. Đầu tiên, bạn được sắp xếp lại các ký tự trong xâu theo một thứ tự bất kỳ. Sau đó, hãy chia xâu ký tự này thành chính xác K xâu ký tự liên tiếp không rỗng sao cho xâu ký tự có thứ tự từ điển lớn nhất là nhỏ nhất có thể. Xâu A có thứ tự từ điển nhỏ hơn xâu B khi thỏa một trong các điều kiện sau: - A là tiền tố của B và A khác B. - Tồn tại số i (1 ≤ i<min(|A|,|B|)) sao cho A[i] < B[i] và A[j] = B[j] với mọi j (1<j<min(|A|, |B|). Ở đây, |A| là độ dài của xâu A, min(x,y) là giá trị nhỏ hơn giữa x và y. Ví dụ: - abc có thứ tự từ điển nhỏ hơn ad. - ab có thứ tự từ điển nhỏ hơn abb. Dữ liệu vào: File STRGAME.INP gồm: - Dòng đầu tiên gồm hai số nguyên dương N, K (1 ≤ K ≤ N ≤ 100). - Dòng thứ hai gồm xâu chứa N ký tự. Các ký tự là các chữ cái tiếng Anh in thường. Dữ liệu ra: File STRGAME.OUT gồm: - Gồm một dòng duy nhất là xâu ký tự có thứ tự từ điển lớn nhất của phương án tối ưu. Giới hạn: - 20% số test có xâu ký tự gồm toàn ký tự a. - 20% số test tiếp theo có K = N. - 60% số test còn lại không có ràng buộc gì thêm. Ví dụ: STRGAME.INP                   STRGAME.OUT 4 2 baba                                         Ab
Đăng phản hồi