Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Thiết kế Web] Phân giải đầy đủ bản ghi DNS

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 15: Triển khai Website và tổng kết khóa — khóa Thiết kế Web

    Cho một danh sách bản ghi DNS, mỗi bản ghi gồm tên (name), loại (type: CNAME hoặc A), đích/địa chỉ IP (target) và TTL. Một tên có thể có NHIỀU bản ghi loại A (nhiều địa chỉ IP - round robin), nhưng nếu một tên có bản ghi CNAME thì tên đó KHÔNG được có bất kỳ bản ghi nào khác (kể cả CNAME khác) - nếu vi phạm, đó là XUNG ĐỘT.

    Với mỗi tên truy vấn, hãy phân giải:

    • bắt đầu từ tên đó, nếu tên hiện tại có một bản ghi CNAME duy nhất, đi tiếp theo đích của nó (cộng dồn TTL nhỏ nhất từng gặp);

    • nếu tên hiện tại có một hoặc nhiều bản ghi A, đó là kết quả cuối: tập hợp tất cả địa chỉ IP tại tên đó, TTL hiệu lực là giá trị NHỎ NHẤT trong toàn bộ các TTL đã gặp trên đường đi (kể cả các bản ghi A cuối).

    • Nếu một tên trong chuỗi có nhiều bản ghi và trong đó có CNAME: XUNG ĐỘT.

    • Nếu một tên trong chuỗi không có bản ghi nào: KHONG TIM THAY.

    • Nếu quay lại một tên CNAME đã đi qua: LOOP.

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

      Dòng đầu tiên chứa số nguyên n. n dòng tiếp theo, mỗi dòng "ten loai dich_hoac_ip ttl". Dòng tiếp theo chứa số nguyên m là số truy vấn. m dòng tiếp theo, mỗi dòng một tên cần phân giải.

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

      1 <= n <= 200, 1 <= m <= 20.

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

      In ra đúng m dòng theo thứ tự, mỗi dòng dạng "ten: ket_qua", trong đó ket_qua là "ip1,ip2,... ttl_hieu_luc" (các IP sắp xếp theo alphabet tăng dần, cách nhau bởi dấu phẩy không có khoảng trắng, rồi một khoảng trắng, rồi TTL), hoặc "LOOP", hoặc "KHONG TIM THAY", hoặc "XUNG DOT".

    Ví dụ:

    Đầu vào:

    5
    www CNAME app 300
    app A 1.2.3.4 60
    app A 1.2.3.5 60
    mail A 9.9.9.9 500
    ftp CNAME missing 100
    3
    www
    mail
    ftp
    

    Đầu ra:

    www: 1.2.3.4,1.2.3.5 60
    mail: 9.9.9.9 500
    ftp: KHONG TIM THAY

    Chủ đề

    🌐 Thiết kế WebThiết kế WebThiết kế Web: Triển khai — Tên miền, Hosting, SEOTất cả môn học

    Đang tải editor...