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

    solution

    Đề bài: [Hệ điều hành Unix] Khởi động tối thiểu cho một dịch vụ

    Khởi động tối thiểu cho một dịch vụ

    Khi bạn chỉ muốn chạy một dịch vụ root, systemd chỉ khởi động những dịch vụ cần thiết: chính root và mọi phụ thuộc bắc cầu của nó (các dịch vụ khác không liên quan sẽ không chạy).

    Quan hệ A B nghĩa là A phụ thuộc B. Hãy in thứ tự khởi động của riêng tập dịch vụ cần thiết (sắp topo: phụ thuộc trước, tie-break theo tên ABC để duy nhất).

    Ví dụ

    web db, db net, mail smtp (độc lập), root web → chỉ cần net, db, web → thứ tự net db web.

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

      Dòng đầu là n, sau đó n dòng tên dịch vụ. Dòng tiếp là m, sau đó m dòng A B (A phụ thuộc B). Dòng cuối là root.

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

      1 ≤ n ≤ 100. Đồ thị không có chu trình.

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

      Một dòng: thứ tự khởi động các dịch vụ cần thiết, cách nhau bởi dấu cách.

    Ví dụ:

    Đầu vào:

    5
    web
    db
    net
    mail
    smtp
    3
    web db
    db net
    mail smtp
    web
    

    Đầu ra:

    net db web

    Giải thích:

    Chỉ web, db, net liên quan tới web; sắp phụ thuộc trước là net, db, web; mail/smtp bị bỏ qua.

    Đang tải editor...