Xâu đối xứng

Xem dạng PDF

Mô tả bài toán:

Bạn được cung cấp một chuỗi ký tự, nhiệm vụ của bạn là sắp xếp lại các ký tự của chuỗi đó sao cho nó trở thành một chuỗi palindrome (tức là chuỗi đọc xuôi và ngược đều giống nhau).


Input:

  • Dòng duy nhất chứa một chuỗi ký tự có độ dài ~ n ~, chỉ bao gồm các chữ cái từ ~ A ~ đến ~ Z ~.

Output:

  • In ra một chuỗi palindrome được tạo từ các ký tự trong chuỗi ban đầu. Nếu có nhiều cách, bạn chỉ cần in ra một cách hợp lệ.
  • Nếu không thể tạo được palindrome, in ra "NO SOLUTION".

Ràng buộc:

  • ~ 1 \leq n \leq 10^6 ~

Ví dụ:

Input:
AAAACACBA
Output:
AACABACAA

Giải thích:

  • Đếm ký tự:
    • ~ A: 5 ~, ~ C: 2 ~, ~ B: 1 ~.
    • ~ B ~ xuất hiện lẻ → Đặt vào giữa.
  • Chuỗi nửa đầu: ~ AAC ~.
  • Kết quả: ~ AACABACAA ~.


Bình luận

Hãy đọc nội quy trước khi bình luận.

Không có bình luận tại thời điểm này.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch