Khôi phục xâu nhị phân
Đề bài
Mô tả
Với một xâu nhị phân (mỗi ký tự là '0' hoặc '1'), người ta xét tất cả các cặp ký tự liên tiếp, tức là mọi xâu con độ dài . Với mỗi cặp như vậy, đếm số ký tự '1' trong cặp đó (giá trị này bằng , hoặc ).
Cho ba số:
- : số cặp ký tự liên tiếp có đúng ký tự '1';
- : số cặp ký tự liên tiếp có đúng ký tự '1';
- : số cặp ký tự liên tiếp có đúng ký tự '1'.
Hãy khôi phục một xâu nhị phân bất kỳ phù hợp với ba giá trị đã cho. Dữ liệu đảm bảo luôn tồn tại ít nhất một đáp án, và ít nhất một trong ba số lớn hơn . Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ví dụ, với "1110011110", các cặp liên tiếp là "11", "11", "10", "00", "01", "11", "11", "11", "10", tương ứng , , .
Dữ liệu vào
- Dòng đầu chứa số nguyên : số lượng bộ dữ liệu.
- Mỗi bộ dữ liệu gồm một dòng chứa ba số nguyên .
Dữ liệu ra
In ra dòng, mỗi dòng là một xâu nhị phân tương ứng với một bộ dữ liệu. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
- Dữ liệu đảm bảo luôn tồn tại đáp án.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 1 3 5 1 1 1 3 9 3 0 1 0 3 1 2 0 0 3 2 0 0 |
0011111101 0011 0000111101010101 01 0000111 1111 000 |
Mỗi dòng ra là một đáp án hợp lệ. Với "0011111101": cặp "00" cho , các cặp "01"/"10" cho , năm cặp "11" cho . Các đáp án khác cũng được chấp nhận nếu đếm ra đúng bộ số. |
| 3 0 0 1 1 0 0 0 1 0 |
11 00 01 |
Khi chỉ có một cặp, xâu có độ dài : "11" cho , "00" cho , "01" cho . |
Bình luận