#PH012. Sắp xếp thành xâu đối xứng (Palindrome Reorder)
Sắp xếp thành xâu đối xứng (Palindrome Reorder)
Sắp xếp thành xâu đối xứng
Nguồn: CSES Problem Set
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho một xâu . Hãy sắp xếp lại toàn bộ các ký tự của sao cho xâu thu được là một xâu đối xứng, tức là xâu đọc từ trái sang phải giống hệt khi đọc từ phải sang trái.
Mỗi ký tự của xâu ban đầu phải được sử dụng đúng số lần nó xuất hiện trong .
Nếu tồn tại nhiều cách sắp xếp thỏa mãn yêu cầu, có thể đưa ra bất kỳ cách nào.
Input
Đầu vào gồm một dòng duy nhất chứa xâu gồm các ký tự chữ cái in hoa từ A đến Z.
Gọi là độ dài của xâu.
Output
Nếu có thể sắp xếp các ký tự của thành một xâu đối xứng, hãy in ra một xâu đối xứng hợp lệ sử dụng đúng toàn bộ các ký tự của .
Nếu có nhiều đáp án hợp lệ, có thể in ra bất kỳ đáp án nào.
Nếu không tồn tại cách sắp xếp thỏa mãn, in ra:
NO SOLUTION
Subtask
- Subtask 1 — 60%: ; chỉ gồm các ký tự từ
AđếnZ. - Subtask 2 — 40%: ; chỉ gồm các ký tự từ
AđếnZ.
Ví dụ
Input
AAAACACBA
Output
AACABACAA
Giải thích
Xâu ban đầu AAAACACBA có ký tự A, ký tự C và ký tự B.
Xâu được in ra là:
AACABACAA
Xâu này sử dụng đúng ký tự A, ký tự C và ký tự B, nên không làm mất hoặc thêm bất kỳ ký tự nào so với xâu ban đầu.
Đọc AACABACAA từ trái sang phải hoặc từ phải sang trái đều thu được cùng một xâu, vì vậy đây là một đáp án hợp lệ.
Đây chỉ là một trong các cách sắp xếp có thể được chấp nhận.