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] Đếm truy cập theo IP

    Cho access log dạng Apache, mỗi dòng bắt đầu bằng địa chỉ IP (trường đầu tiên, cách nhau bởi khoảng trắng). Hãy đếm số lần xuất hiện của mỗi IP và in ra dạng <số_lần> <IP>.

    Sắp xếp: số lần giảm dần; nếu bằng nhau thì IP tăng dần theo LC_ALL=C.

    Ví dụ I/O:

    Input:
    10.0.0.1 GET /a
    10.0.0.2 GET /b
    10.0.0.1 GET /c
    
    Output:
    2 10.0.0.1
    1 10.0.0.2
    
    • Định dạng đầu vào:

      Mỗi dòng: <IP> <phần còn lại>. IP là trường đầu, cách bằng khoảng trắng.

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

      1 ≤ số dòng ≤ 100000.

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

      Mỗi dòng <số_lần> <IP>. Sắp số lần giảm dần, tie-break IP tăng dần (LC_ALL=C).

    Ví dụ:

    Đầu vào:

    10.0.0.1 GET /a
    10.0.0.2 GET /b
    10.0.0.1 GET /c
    

    Đầu ra:

    2 10.0.0.1
    1 10.0.0.2

    Giải thích:

    10.0.0.1 xuất hiện 2 lần, 10.0.0.2 một lần.

    Đang tải editor...