Hai đỉnh riêng biệt trong biểu đồ có hướng được kết nối mạnh nếu có đường dẫn trong biểu đồ từ điểm này sang điểm khác. Một thành phần được kết nối mạnh của biểu đồ là một tập hợp con của biểu đồ sao cho mỗi cặp đỉnh riêng biệt trong tập hợp con được kết nối mạnh và việc thêm bất kỳ đỉnh nào vào tập hợp con sẽ phá vỡ thuộc tính này.
Thách thức của bạn là tách một biểu đồ thành các thành phần được kết nối mạnh mẽ của nó. Cụ thể, bạn phải xuất tất cả các SCC trong biểu đồ.
Tôi / O:
Là đầu vào, bạn có thể sử dụng danh sách các cạnh được định hướng, danh sách kề, ma trận kề hoặc bất kỳ định dạng đầu vào hợp lý nào khác. Hỏi xem bạn có chắc không. Bạn có thể giả sử đồ thị không có các đỉnh hoàn toàn bị ngắt kết nối và không có các cạnh tự, nhưng bạn không thể đưa ra bất kỳ giả định nào nữa. Bạn cũng có thể tùy ý lấy danh sách các đỉnh làm đầu vào, cũng như số lượng đỉnh.
Là đầu ra, bạn phải phân vùng các đỉnh, chẳng hạn như danh sách các danh sách các đỉnh, trong đó mỗi danh sách con là một thành phần được kết nối mạnh hoặc ghi nhãn các đỉnh, trong đó mỗi nhãn tương ứng với một thành phần khác nhau.
Nếu bạn sử dụng nhãn, nhãn phải là đỉnh hoặc chuỗi số nguyên liên tiếp. Điều này là để ngăn chặn việc tính toán vào nhãn.
Ví dụ:
Các ví dụ này lấy danh sách các cạnh, trong đó mỗi cạnh được hướng từ mục nhập thứ nhất đến mục nhập thứ hai và phân vùng đầu ra. Bạn có thể tự do sử dụng định dạng này hoặc định dạng khác.
Đầu vào là trên dòng đầu tiên, đầu ra là trên dòng thứ hai.
[[1, 2], [2, 3], [3, 1], [1, 4]]
[[1, 2, 3], [4]]
[[1, 2], [2, 3], [3, 4]]
[[1], [2], [3], [4]]
[[1, 2], [2, 1], [1, 3], [2, 4], [4, 2], [4, 3]]
[[1, 2, 4], [3]]
[[1, 2], [2, 3], [2, 5], [2, 6], [3, 4], [3, 7], [4, 3], [4, 8], [5, 1], [5, 6], [6, 7], [7, 6], [8, 7], [8, 4]]
[[1, 2, 5], [3, 4, 8], [6, 7]]
Ghi điểm và hạn chế:
Lỗ hổng tiêu chuẩn bị cấm, như mọi khi. Ngoài ra, các phần mềm tích hợp xử lý cụ thể các thành phần được kết nối mạnh đều bị cấm.
Các giải pháp sẽ chạy trong không quá một giờ trên các ví dụ được cung cấp. (Điều này nhằm ngăn chặn các giải pháp theo cấp số nhân chậm, và không có gì khác.)
Đây là mã golf. Ít byte nhất sẽ thắng.
8
nó không nằm trong một thành phần [3,4]
vì nó không thể chỉ có mỗi 6
và 7
(không ai trong số đó tiếp cận được nó).