REMOVBIT PTIT spoj- xóa BIT

Nguồn đề bài: http://www.spoj.com/PTIT/problems/REMOVBIT/

1. Đề bài REMOVBIT spoj

Cho số a viết ở hệ cơ số 2. Nhiệm vụ của bạn là phải xóa một chữ số để số còn lại xóa khi xóa là lớn nhất !!!

Input

Một dòng chứa số a viết ở hệ nhị phân.

Output

Số lớn nhất sau khi xóa 1 chữ số từ a.

Example

Input:
101

Output:
11

2. Hướng dẫn REMOVBIT spoj

– Khi viết ra giấy ta dễ dàng nhận thấy chỉ cần xóa số 0 đầu tiên từ trái qua sẽ thu được số lớn nhất.

– Vậy khi ko có số 0 thì sao? tức là gồm 1 dãy số 1, ta chỉ cần xóa 1 số bất kì.

– xuất ra ra kết quả.

3. code tham khảo REMOVBIT spoj

const   fi='';
type    data=longint;
var
        f:text;
        S,res:ansistring;
        i,j:data;
        ok:boolean;
begin
        assign(f,fi); reset(f);
        readln(f,s);
        close(f);
        ok:=false;
        res:='';
        for i:=1 to length(s) do
                if ok=true then
                        res:=res+s[i]
                else
                        begin
                                if s[i]='1' then
                                        res:=res+'1'
                                else
                                        ok:=true;
                        end;
        if not ok then
                delete(res,1,1);
        writeln(res);
end.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *