İki taraflı bir grafik, köşeleri aynı kümedeki iki köşeyi birbirine bağlamayacak şekilde, iki ayrık kümeye bölünebilen bir grafiktir. Bir grafik iki taraflıysa ve yalnızca 2 renklendirilebilirse.
Meydan okuma
Göreviniz, yönlendirilmemiş basit bir grafiğin bitişiklik matrisi göz önüne alındığında, bunun iki taraflı bir grafik olup olmadığını belirlemektir. Bir kenar i ve j köşelerini birbirine bağlarsa, matrisin hem (i, j) hem de (j, i) girişi 1'dir.
Grafik yönlendirilmemiş ve basit olduğundan, bitişiklik matrisi simetriktir ve sadece 0 ve 1 içerir.
Ayrıntılı Bilgiler
Giriş olarak bir N-N-matrisi almalısınız (herhangi bir biçimde, örneğin liste listesi, dizelerin listesi, C-benzeri int**
ve boyut, düzleştirilmiş dizi, ham giriş, vb.).
Grafik iki taraflı ise işlev / program doğruluk değeri döndürmeli / çıktı sağlamalı, aksi halde yanlış olmalıdır.
Test Durumları
['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
puanlama
Cevabı doğrudan hesaplayan yapı yasaklandı.
Bu kod golf , bu nedenle bu ayın sonuna kadar en kısa program (bayt cinsinden) kazanır!
-1
için negatif ve negatif olmayan bir tamsayı için geri dönebilir miyiz?
0
-> Falsy, >0
-> Truthy'a genellikle standart doğruluk / falsy kuralları ile izin verilir. -1
ve ≥ 0
o kadar yaygın değil, bu yüzden sordum.