Arka fon
Bir çit yapmak istiyorum. Bunun için bir grup kutup topladım ve onları yere yapıştırdım. Ayrıca, gerçek çiti yapmak için direklere çakacağım birçok tahta topladım. Bir şey inşa ederken taşınmaya meyilliyim ve büyük olasılıkla tahtaları kutuplara daha fazla yerleştirene kadar direklere çivilemeye devam edeceğim. Sonunda elde edebileceğim olası çitleri numaralandırmanı istiyorum.
Giriş
Girişiniz, kutupların konumlarını herhangi bir uygun biçimde temsil eden iki boyutlu tamsayı koordinatlarının bir listesidir. Yineleme içermediğini varsayabilirsiniz, ancak siparişiyle ilgili hiçbir şey kabul edemezsiniz.
Levhalar kutuplar arasında düz çizgilerle temsil edilir ve basitlik için sadece yatay ve dikey levhaları dikkate alırız. Aralarında başka kutup veya levha yoksa iki kutup bir pano ile birleştirilebilir, yani panoların birbirini geçemez. Direklerin ve levhaların düzenlenmesi, üzerine yeni levhalar eklenemezse maksimumdur (eşdeğer olarak, yatay veya dikey olarak hizalanmış iki kutup arasında bir kutup veya bir tahta vardır).
Çıktı
Çıktınız kutuplar kullanılarak yapılabilecek maksimum düzenleme sayısıdır.
Misal
Giriş listesini düşünün
[(3,0),(1,1),(0,2),(-1,1),(-2,0),(-1,-1),(0,-2),(1,-1)]
Üstten bakıldığında, kutupların ilgili düzeni aşağıdaki gibi görünüyor:
o
o o
o o
o o
o
Bu kutuplar kullanılarak inşa edilebilen tam olarak üç maksimum düzenleme vardır:
o o o
o-o o|o o-o
o----o o||| o o| | o
o-o o|o o-o
o o o
Böylece doğru çıktı 3
.
kurallar
Bir işlev veya tam bir program yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Test Durumları
[] -> 1
[(0,0),(1,1),(2,2)] -> 1
[(0,0),(1,0),(2,0)] -> 1
[(0,0),(0,1),(1,0),(1,1)] -> 1
[(1,0),(0,1),(-1,0),(0,-1)] -> 2
[(3,0),(1,1),(0,2),(-1,1),(-2,0),(-1,-1),(0,-2),(1,-1)] -> 3
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1)] -> 3
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1),(0,-1)] -> 4
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(0,-1),(2,2)] -> 5
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1),(0,-1),(2,2)] -> 8
(0,-2)
iyi yakalamalı. Şimdi değişiyor.