Xóa một chữ số nhị phân

Đề bài

Mô tả

Cho một số nguyên dương a được biểu diễn trong hệ nhị phân, không có chữ số 0 đứng đầu.

Bạn phải xóa đúng một chữ số trong biểu diễn nhị phân của a. Sau khi xóa, các chữ số còn lại giữ nguyên thứ tự và tạo thành một số nhị phân mới (có thể có các chữ số 0 đứng đầu).

Hãy tìm cách xóa sao cho số nhận được có giá trị lớn nhất có thể và in ra số đó ở dạng nhị phân, không có các chữ số 0 đứng đầu.

Dữ liệu vào

Một dòng duy nhất chứa số a ở dạng nhị phân, không có chữ số 0 đứng đầu.

Dữ liệu ra

In ra một dòng duy nhất chứa số nhị phân lớn nhất thu được sau khi xóa đúng một chữ số, không có các chữ số 0 đứng đầu.

Ràng buộc

  • a có từ 2 đến 105 chữ số nhị phân.

Ví dụ

Input Output Giải thích
101 11 Xóa chữ số 0 ở giữa, nhận được 112=310.
110010 11010 Xóa chữ số 0 đầu tiên (ở vị trí thứ ba), nhận được 110102=2610.
11111 1111 Không có chữ số 0 nào, buộc phải xóa một chữ số 1; kết quả là 11112=1510.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0