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ố 0 hoặc 1. 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 2 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à 0 hoặc 1. 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 s mô tả dãy thẻ từ trái sang phải. Mỗi ký tự là 0, 1 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

  • 2|s|105
  • Mỗi ký tự của s thuộc {0,1,?}.

Ví dụ

Input Output Giải thích
???? 00
01
10
11
Cả 16 cách điền đều có thể; tập kết quả phủ đủ 4 giá trị. Ví dụ 000000, 111111, 001101, 110010.
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 10.
1?1 01
11
Hai phương án: 1111110101 (lượt đầu Masha bỏ thẻ 1 ở đầu, còn lại 01).

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0