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

    solution

    Đề bài: [Lập trình Web & Backend] Bản đồ phiên bản: phát hiện trùng nội dung

    Khử trùng theo ETag

    Nhiều URL có thể trỏ tới cùng nội dung (ví dụ mirror). Bằng cách so ETag (MD5), ta gom các URL cùng nội dung.

    Yêu cầu

    Dòng 1: số tài nguyên N. N dòng tiếp: mỗi dòng <url> <nội-dung> (url và nội dung cách nhau bởi một khoảng trắng; nội dung có thể chứa khoảng trắng). Tính ETag MD5 cho mỗi nội dung. In số nhóm nội dung khác nhau (số ETag phân biệt), rồi với mỗi ETag (theo thứ tự xuất hiện lần đầu) in một dòng <etag-hex> <số url dùng nội dung này>.

    Ví dụ

    Input:

    3
    /a hello
    /b world
    /c hello
    

    hello và world: 2 nhóm. hello xuất hiện đầu (2 url), world (1 url).

    • Định dạng đầu vào:

      Dòng 1: N. N dòng: <url> <nội dung>.

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

      1 ≤ N ≤ 1000. url không chứa khoảng trắng.

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

      Dòng 1: số nhóm. Tiếp theo mỗi nhóm: <md5hex> <count> theo thứ tự ETag xuất hiện lần đầu.

    Ví dụ:

    Đầu vào:

    3
    /a hello
    /b world
    /c hello
    

    Đầu ra:

    2
    5d41402abc4b2a76b9719d911017c592 2
    7d793037a0760186574b0282f2f435e7 1

    Giải thích:

    hello và world là 2 nội dung khác nhau; hello dùng bởi 2 url, world bởi 1.

    Đang tải editor...