Submit solution
Points:
100.00 (partial)
Time limit:
1.0s
Memory limit:
1G
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text
Xâu nhị phân là xâu chỉ chứa ~0~ và ~1~. Các xâu nhị phân có độ dài bằng ~n~ có ~2n~ xâu nhị phân. Ví dụ ~n=3~ ta có các xâu nhị phân được liệt kê theo thứ tự từ điển như sau ~000, 001, 010, 011, 100, 101, 110, 111~. Trong đó ~001~ là xâu kế tiếp của xâu 000 hay 101 là xâu kế tiếp của xâu ~100~.
Yêu cầu: Cho xâu nhị phân ~S~ độ dài ~n~ .Tìm xâu nhị phân kế tiếp của ~S~ trong từ điển.
Dữ liệu vào có cấu trúc như sau:
- Dòng đầu tiên ghi số tự nhiên ~N~ (~n <1000000~).
- Dòng hai ghi xâu S gồm các kí tự ~0, 1~.
Kết quả ghi ra xâu nhị phân kế tiếp của ~S~ theo thứ tự trong từ điển. Nếu không có ghi ~-1~.
Ví dụ:
INPUT
5
00100
OUTPUT
00101
Ràng buộc:
- 70% test tương ứng với 50% số điểm có ~n ≤ 64~.
- 30% test tương ứng với 50% số điểm có ~n ≤ 1000000~.
Comments