된 그래프는 꼭지점에는 에지가 동일한 세트의 두 정점을 연결 없도록, 두 개의 분리 된 세트들로 분할 될 수있는 그래프이다. 그래프는 2 색인 경우에만 2 분할입니다.
도전
지시 되지 않은 단순 그래프 의 인접 행렬 이 주어진 경우이 그래프가 이분 그래프인지 여부를 결정해야합니다. 즉, 모서리가 정점 i와 j를 연결하는 경우 행렬의 (i, j)와 (j, i) 항목은 모두 1입니다.
그래프는 방향이없고 단순하기 때문에 인접 행렬은 대칭이며 0과 1 만 포함합니다.
사양
N-N-N 행렬을 입력으로 사용해야합니다 (예 : 목록 목록, 문자열 목록, C 유사 int**
및 크기, 평평한 배열, 원시 입력 등).
그래프가 이분자 일 경우 함수 / 프로그램은 정확한 값을 반환 / 출력해야하며 그렇지 않으면 거짓입니다.
테스트 사례
['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
채점
답변을 직접 계산하는 빌트인은 금지되어 있습니다.
이것은 code-golf 이므로 이번 달 말까지 가장 짧은 프로그램 (바이트)이 이깁니다!
-1
거짓과 거짓이 아닌 정수를 반환 할 수 있습니까?
0
> Falsy, >0
-> Truthy는 일반적으로 표준 진실 / 거짓 규칙에 의해 허용됩니다. -1
그리고 ≥ 0
내가 물어 그 이유는, 그 일반적인하지 않습니다.