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] Thứ tự khởi động hoặc phát hiện vòng

    Thứ tự khởi động hoặc phát hiện vòng tròn

    Kết hợp hai bài toán: hãy in thứ tự khởi động dịch vụ (sắp topo, tie-break theo tên ABC để duy nhất). Nếu đồ thị phụ thuộc có vòng tròn khiến không thể sắp xếp, in CYCLE.

    Quan hệ A B nghĩa là A khởi động trước B.

    Ví dụ

    a b, b a → CYCLE. Còn a b đơn lẻ → a b.

    • Đị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 trước B).

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

      1 ≤ n ≤ 100. 0 ≤ m ≤ n*(n-1).

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

      Thứ tự khởi động (các tên cách nhau bởi dấu cách) hoặc CYCLE.

    Ví dụ:

    Đầu vào:

    3
    a
    b
    c
    3
    a b
    b c
    c a
    

    Đầu ra:

    CYCLE

    Giải thích:

    a trước b, b trước c, c trước a tạo vòng tròn nên không sắp được, in CYCLE.

    Đang tải editor...