甲二分图是其顶点可分为两个不相交的集合,使得没有边缘在同一组连接两个顶点的曲线图。当且仅当图是2色时,图才是二部图。
挑战
给定一个无向简单图的邻接矩阵,您的任务是确定它是否是二部图。也就是说,如果一条边连接顶点i和j,则矩阵的(i,j)和(j,i)项均为1。
由于图是无向且简单的,因此其邻接矩阵是对称的,并且仅包含0和1。
细节
您应该采用N×N矩阵作为输入(任何形式,例如列表列表,字符串列表,类似C的字符串int**
和大小,展平的数组,原始输入等)。
如果该图是二部图的,则函数/程序应返回/输出真实值,否则返回falsy。
测试用例
['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
计分
禁止直接计算答案的内建函数。
这是代码高尔夫球,因此,本月底之前最短的程序(以字节为单位)将获胜!
-1
真假和任何非负整数作为真假吗?
0
> 虚假,>0
->真实/虚假规则通常允许Truthy。-1
而≥ 0
不是常见的,这就是为什么我问。