Xâu tam phân nhỏ nhất
Đề bài
Mô tả
Cho một xâu tam phân , tức là xâu chỉ gồm các ký tự '0', '1' và '2'.
Bạn được phép thực hiện các phép biến đổi sau, mỗi phép áp dụng lên hai ký tự kề nhau, số lần tuỳ ý:
- Đổi chỗ hai ký tự kề nhau '0' và '1' (thay "01" thành "10" hoặc ngược lại).
- Đổi chỗ hai ký tự kề nhau '1' và '2' (thay "12" thành "21" hoặc ngược lại).
Lưu ý: không được đổi chỗ '0' và '2' kề nhau (không thay "02" thành "20" hay ngược lại), và không có phép biến đổi nào khác.
Hãy tìm xâu nhỏ nhất theo thứ tự từ điển có thể thu được sau một số lần biến đổi (có thể bằng ).
Dữ liệu vào
Một dòng duy nhất chứa xâu chỉ gồm các ký tự '0', '1', '2'.
Dữ liệu ra
In ra xâu nhỏ nhất theo thứ tự từ điển thu được.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 100210 | 001120 | Các ký tự '1' có thể di chuyển tự do qua '0' và '2', còn thứ tự tương đối giữa các ký tự '0' và '2' không đổi. Dãy '0'/'2' là 0020, hai ký tự '1' được chèn ngay trước ký tự '2' đầu tiên. |
| 11222121 | 11112222 | Xâu không có '0', nên mọi ký tự '1' được đưa hết về đầu xâu. |
| 20 | 20 | Không được đổi chỗ '2' và '0' kề nhau nên xâu giữ nguyên. |
Bình luận