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] Kiểm tra IP thuộc nhiều subnet

    Cho m subnet (dạng CIDR) và q địa chỉ IP truy vấn. Với mỗi IP, đếm số subnet chứa nó.

    IP v thuộc subnet net/p khi (v & mask) == (net & mask) với mask là mặt nạ p bit cao. Tự xử lý bit, không dùng ipaddress.

    Ví dụ

    Subnet 10.0.0.0/8 và 10.1.0.0/16; IP 10.1.2.3 thuộc cả hai → kết quả 2.

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

      Dòng đầu m. m dòng CIDR. Dòng kế q. q dòng IP truy vấn.

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

      1 ≤ m,q ≤ 1000. 0 ≤ prefix ≤ 32.

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

      In q dòng, mỗi dòng là số subnet chứa IP tương ứng.

    Ví dụ:

    Đầu vào:

    2
    10.0.0.0/8
    10.1.0.0/16
    1
    10.1.2.3
    

    Đầu ra:

    2

    Giải thích:

    10.1.2.3 thuộc 10.0.0.0/8 (8 bit đầu =10) và 10.1.0.0/16 (16 bit đầu =10.1) → 2 subnet.

    Đang tải editor...