Zero-One
Đề bài
Mô tả
Cho một dãy thẻ bài xếp thành hàng từ trái sang phải, mỗi thẻ ghi một chữ số hoặc . Hai người chơi luân phiên thực hiện nước đi, bắt đầu bởi Masha rồi đến Petya. Trong mỗi nước đi, người chơi chọn một thẻ bất kỳ còn lại trên bàn và bỏ nó đi; các thẻ còn lại được đẩy sát vào nhau để lấp khoảng trống.
Trò chơi kết thúc khi trên bàn chỉ còn đúng thẻ. Hai chữ số trên hai thẻ đó (theo thứ tự từ trái sang phải) tạo thành một số nhị phân hai chữ số: bit cao bên trái, bit thấp bên phải. Masha muốn số nhận được nhỏ nhất, còn Petya muốn nó lớn nhất, và cả hai đều chơi tối ưu.
Trước khi trò chơi bắt đầu, một số thẻ bị nước quả làm nhòe nên không đọc được chữ số. Mỗi thẻ bị nhòe có thể là hoặc . Hãy xét tất cả các phương án điền lại các thẻ bị nhòe, và với mỗi phương án xác định kết quả của trò chơi khi cả hai chơi tối ưu. Bạn cần liệt kê tập hợp tất cả các kết quả khả dĩ trên mọi phương án điền.
Dữ liệu vào
Một dòng chứa xâu mô tả dãy thẻ từ trái sang phải. Mỗi ký tự là , hoặc (ký tự biểu thị thẻ bị nhòe).
Dữ liệu ra
In ra tập các kết quả khả dĩ, mỗi kết quả là một xâu hai ký tự gồm hai chữ số trên hai thẻ còn lại sau khi kết thúc trò chơi. Các kết quả được in trên các dòng riêng biệt và sắp theo thứ tự từ điển tăng dần.
Ràng buộc
- Mỗi ký tự của thuộc .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| ???? | 00 01 10 11 |
Cả cách điền đều có thể; tập kết quả phủ đủ giá trị. Ví dụ , , , . |
| 1010 | 10 | Không có dấu , chỉ có một phương án. Sau hai nước đi tối ưu của Masha rồi Petya, hai thẻ còn lại tạo thành . |
| 1?1 | 01 11 |
Hai phương án: và (lượt đầu Masha bỏ thẻ ở đầu, còn lại ). |
Bình luận