Grafik teorisinde, bir Kaktüs , grafikteki herhangi iki basit çevrimin en fazla bir tepe noktasını paylaşacağı şekilde bağlı bir grafiktir.
İşte kesik çizgilerle özetlenen 3 basit çevrimi olan bir Kaktüs.
Aşağıdaki grafik yukarıda gösterilene benzemektedir ancak bir Kaktüs değildir, çünkü kırmızı ile işaretlenmiş iki köşe iki basit döngü tarafından paylaşılmaktadır.
İşler biraz daha zor olabilir, örneğin aşağıdaki grafik:
Kaktüs gibi görünebilir ama değil. Bu, aşağıdaki döngüyü vurgulayarak gösterilebilir:
Bu döngü, grafikte daha belirgin döngülerin çoğuyla birden fazla noktayı paylaşır.
Tanımlar
Bağlı grafik, herhangi iki köşe arasında en az bir yol bulunacak şekilde bir grafiktir.
Basit bir döngü, aynı tepe noktasında başlayan ve biten ve hiçbir noktayı birden fazla ziyaret etmeyen bir grafikteki yoldur.
Basit bir grafik, yönlendirilmemiş, ağırlıklandırılmamış bir grafiktir; öyle ki, hiçbir köşe birbirine birden fazla kenara bağlı değildir ve hiçbir köşe kendisine bağlanmamıştır. Basit bir grafik, en temel grafik türüdür ve çoğu insanın grafik derken ne demek istediğidir.
Görev
Giriş olarak basit bir grafik alın ve bunun bir Kaktüs grafiği olup olmadığına karar verin. Biri True için diğeri False için iki farklı değer çıkarmalısınız. Girdi, uygun gördüğünüz herhangi bir biçimde girebilirsiniz.
Bu kod-golf olduğundan cevaplarınızın bayt sayısını en aza indirmeyi hedeflemelisiniz.
e
Tam olarak bir öğe v
içeriyor VE tam olarak 2 içeriyor VE v
ilk öğeye eşit e
mi? 2) VEYA v
Her bir elementin ilk elementinin birlik kümesine eşit e
mi? İkinci test durumu ilk kontrolü (geçer v=[1,2]=e[0]=[1,2]
) ve ikinci gerçek maç olmalıdır diğer test durumları, mesela vaka # 4: v=[1,2,3,4,5,6]=[e[0][0],e[1][0],e[2][0],e[4][0]]=[1,2,3,4,5,6]
.
console.log(f([1,2,3,4,5,6,7,8,9,10,11,12,13])([[1,2],[1,3],[3,4],[2,4],[3,5],[5,6],[6,7],[7,8],[8,5],[7,9],[9,10],[10,11],[11,7],[8,12],[8,13]]))
true
yoksa false
?