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

    solution

    Đề bài: [Mạng máy tính] Phân loại địa chỉ IPv6

    Cho một số địa chỉ IPv6, hãy phân loại mỗi địa chỉ vào đúng một trong các nhóm sau (tự xử lý bit, không dùng thư viện ipaddress):

    • UNSPECIFIED — toàn bộ 128 bit bằng 0 (::).
    • LOOPBACK — ::1.
    • MULTICAST — 8 bit đầu là ff (tiền tố ff00::/8).
    • LINK-LOCAL — tiền tố fe80::/10.
    • UNIQUE-LOCAL — tiền tố fc00::/7.
    • GLOBAL-UNICAST — còn lại.

    Thứ tự kiểm tra theo danh sách trên (kiểm tra UNSPECIFIED/LOOPBACK trước multicast).

    Ví dụ

    Với fe80::1 → LINK-LOCAL; ff02::1 → MULTICAST; ::1 → LOOPBACK.

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

      Dòng đầu là số nguyên n. n dòng sau, mỗi dòng một địa chỉ IPv6 (có thể nén ::).

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

      1 ≤ n ≤ 100. Địa chỉ IPv6 hợp lệ, các nhóm viết bằng chữ thường hệ 16.

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

      In n dòng, mỗi dòng là nhãn phân loại tương ứng.

    Ví dụ:

    Đầu vào:

    5
    fe80::1
    ff02::1
    ::1
    ::
    fd00:1234::abcd
    

    Đầu ra:

    LINK-LOCAL
    MULTICAST
    LOOPBACK
    UNSPECIFIED
    UNIQUE-LOCAL

    Giải thích:

    fe80::1 thuộc fe80::/10 nên LINK-LOCAL; ff02::1 có 8 bit đầu ff → MULTICAST; ::1 là LOOPBACK; :: toàn 0 → UNSPECIFIED; fd00:: thuộc fc00::/7 → UNIQUE-LOCAL.

    Đang tải editor...