Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Tỉ lệ % status theo nhóm (2xx/3xx/4xx/5xx)

    Cho access log (token thứ 9 là mã trạng thái 3 chữ số). Phân loại mỗi request theo nhóm theo chữ số đầu: 2xx, 3xx, 4xx, 5xx (mã bắt đầu bằng số khác thì bỏ qua).

    Hãy in tỉ lệ phần trăm mỗi nhóm trên tổng số request được phân loại, dạng NHÓM TỈ_LỆ% (1 chữ số thập phân), chỉ in nhóm có số lượng > 0, sắp tăng dần theo tên nhóm (2xx, 3xx, 4xx, 5xx).

    Ví dụ

    Input:

    a - - [t] "GET / HTTP/1.1" 200 1
    b - - [t] "GET / HTTP/1.1" 404 1
    c - - [t] "GET / HTTP/1.1" 200 1
    d - - [t] "GET / HTTP/1.1" 500 1
    

    Output:

    2xx 50.0%
    4xx 25.0%
    5xx 25.0%
    
    • Định dạng đầu vào:

      Nhiều dòng access log; token thứ 9 là mã 3 chữ số. Có thể rỗng.

    • Ràng buộc đầu vào:

      0 ≤ số dòng ≤ 100000.

    • Định dạng đầu ra:

      Mỗi dòng NHÓM TỈ_LỆ% (1 chữ số thập phân) cho nhóm có >0 request, tăng dần theo tên nhóm. Không có request hợp lệ thì không in.

    Ví dụ:

    Đầu vào:

    a - - [t] "GET / HTTP/1.1" 200 1
    b - - [t] "GET / HTTP/1.1" 404 1
    c - - [t] "GET / HTTP/1.1" 200 1
    d - - [t] "GET / HTTP/1.1" 500 1
    

    Đầu ra:

    Giải thích:

    Tổng 4 request hợp lệ: 2xx 2/4=50.0%, 4xx 1/4=25.0%, 5xx 1/4=25.0%; in tăng dần theo tên nhóm.

    Đang tải editor...