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] Số dịch vụ chạy được khi có lỗi

    Số dịch vụ chạy được khi có lỗi

    Khởi động dịch vụ gốc root. Systemd cố gắng kéo theo mọi dịch vụ nối với nó qua Requires hoặc Wants. Tuy nhiên:

    • Requires x y: nếu y fail thì x cũng fail.
    • Wants x y: nếu y fail thì x vẫn chạy.

    Một số dịch vụ được biết trước là sẽ fail (không khởi động được). Hãy đếm xem có bao nhiêu dịch vụ (trong số các dịch vụ liên quan tới root, kể cả root) thực sự chạy.

    Ví dụ

    Requires a b, b nằm trong danh sách fail → a cũng fail; chỉ a, b liên quan và đều fail → 0 chạy.

    • Đị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 Requires x y hoặc Wants x y. Dòng tiếp là f (số dịch vụ fail), sau đó f dòng tên dịch vụ fail. Dòng cuối là root.

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

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

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

      Một số nguyên: số dịch vụ thực sự chạy (trong các dịch vụ liên quan tới root).

    Ví dụ:

    Đầu vào:

    2
    a
    b
    1
    Requires a b
    1
    b
    a
    

    Đầu ra:

    0

    Giải thích:

    a Requires b nhưng b fail nên a cũng fail; cả a và b đều không chạy nên kết quả 0.

    Đang tải editor...