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] Định tuyến: longest-prefix match

    Bảng định tuyến gồm nnn dòng, mỗi dòng net pfx next_hop. Cho một địa chỉ đích, router chọn route khớp (dest thuộc net/pfx) có prefix dài nhất.

    Một route khớp nếu (dest  &  mask)=(net  &  mask)(\text{dest} \;\&\; \text{mask}) = (\text{net} \;\&\; \text{mask})(dest&mask)=(net&mask), với mask sinh từ pfx.

    Ví dụ: đích 192.168.1.10 khớp cả 192.168.0.0/16 và 192.168.1.0/24; chọn /24 (dài hơn).

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

      Dòng 1: số route nnn. nnn dòng tiếp theo: net pfx next_hop. Dòng cuối: địa chỉ đích.

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

      1≤n≤10001 \le n \le 10001≤n≤1000, 0≤pfx≤320 \le pfx \le 320≤pfx≤32.

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

      In ra next_hop của route khớp dài nhất, hoặc NONE nếu không khớp.

    Ví dụ:

    Đầu vào:

    2
    192.168.0.0 16 R1
    192.168.1.0 24 R2
    192.168.1.10

    Đầu ra:

    R2

    Giải thích:

    Đích khớp cả /16 và /24; chọn prefix dài nhất /24 nên ra R2.

    Đang tải editor...