Lọc số (TS10LQĐ 2015)

Xem PDF



Tác giả:
Dạng bài
Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Cho một xâu \(S\) có độ dài không quá 255 kí tự. Trong xâu \(S\), có chứa các số nguyên mà
mỗi số nguyên đó là một xâu con gồm các kí tự số liên tiếp nhau trong xâu \(S\).

Yêu cầu: Hãy tìm số nguyên lớn nhất có trong xâu \(S\).

Input

  • Có một dòng duy nhất là xâu \(S\) có độ dài không quá 255 kí tự.

Output

  • Ghi ra một số nguyên lớn nhất có trong xâu \(S\)

(Lưu ý: Phải loại bỏ các chữ số 0 vô nghĩa bên trái của kết quả).

Scoring

  • Subtask \(1\) (\(70\%\) số điểm): \(|S|\le 255\) theo đề chuẩn
  • Subtask \(2\) (\(30\%\) số điểm): \(|S|\le 10^{6}\) mở rộng

Example

Test 1

Input
Abc987hnmh0003456hs006543m
Output
6543

Bình luận


  • 4
    phuc11731    10:20 p.m. 18 Tháng 2, 2024
    s=input()
    def NMP(s,n):
        global m
        i=0
        while i!=n:
            if s[i] in ex:
                k,i=NMP1(s,n,i)
                t=int(k)
                if t>m:m=t
            i+=1
    def NMP1(s,n,i):
        k,j=s[i],0
        for j in range(i+1,n):
            if s[j] in num:k+=s[j]
            else:
                j-=1
                break
        i=j
        return k,i
    ex,num,m='-0123456789','0123456789',float('-inf')
    NMP(s,len(s))
    print(m)
    
    • 1 bình luận nữa