Một đồ thị hai phía là một đồ thị có các đỉnh có thể được chia thành hai bộ rời nhau, chẳng hạn mà không có cạnh nối hai đỉnh trong cùng một tập. Một đồ thị là lưỡng cực khi và chỉ khi nó có 2 màu.
Thử thách
Nhiệm vụ của bạn là, đưa ra ma trận kề của một đồ thị đơn giản không xác định, xác định xem đó có phải là đồ thị lưỡng cực hay không. Nghĩa là, nếu một cạnh kết nối các đỉnh i và j, cả hai mục nhập (i, j) và (j, i) của ma trận là 1.
Do đồ thị là vô hướng và đơn giản, ma trận kề của nó là đối xứng và chỉ chứa 0 và 1.
Cụ thể
Bạn nên lấy ma trận N-by-N làm đầu vào (dưới mọi hình thức, ví dụ như danh sách danh sách, danh sách chuỗi, giống như C int**
và kích thước, mảng dẹt, đầu vào thô, v.v.).
Hàm / chương trình sẽ trả về / xuất ra một giá trị trung thực nếu đồ thị là lưỡng cực và giả mạo khác.
Các trường hợp thử nghiệm
['00101',
'00010',
'10001',
'01000',
'10100'] : False
['010100',
'100011',
'000100',
'101000',
'010000',
'010000'] : True (divide into {0, 2, 4, 5} and {1, 3})
['00',
'00'] : True
Chấm điểm
Nội dung tính toán câu trả lời trực tiếp bị cấm.
Đây là môn đánh gôn , vì vậy chương trình ngắn nhất (tính bằng byte) vào cuối tháng này sẽ thắng!
-1
cho sai và bất kỳ số nguyên không âm nào cho sự thật không?
0
-> Falsy, >0
-> Sự thật thường được cho phép bởi các quy tắc trung thực / giả dối tiêu chuẩn. -1
và ≥ 0
nó không phổ biến, đó là lý do tại sao tôi hỏi.