Siz bir çiftçisiniz ve koyun sürünüz kaçtı! Oh hayır!
Bu koyunları içerecek çitler oluşturarak topla. Bütçede bir çiftçi olarak mümkün olan en düşük miktarda çit kullanmak istiyorsunuz. Neyse ki sizin için dünyanın en akıllı koyunları değil ve kaçtıktan sonra hareket etmekten rahatsız olmuyorlar.
Görev
Koordinatların bir listesi verildiğinde, koyunları içermek için gerekli olan en az çit parçası çıktısı alın.
kurallar
- Koyunlar dolaşamazlarsa içerilir (çitte delik yok).
- Tüm koyunları bir çit bloğunda tutmanız gerekmez - birbirinden bağımsız birden fazla çitle çevrili alan olabilir.
- Çit segmentleri kardinal yönlerde yönlendirilir.
- Her koordinat grubu tek bir koyunu temsil eder.
- Girdi çiftleri tamsayı pozitif olmalıdır,
x>0&y>0, ama sizin dilinize için uygun şekilde biçimlendirilmiş olabilir.- yani:
{{1,1},{2,1},{3,7}, .. }veya[1,2],[2,1],[3,7], ..
- yani:
- Çitlerle çevrili bir alandaki boş alanlar iyidir.
- Koordinatların belirli bir sırada girildiğini varsayamazsınız.
Örneğin, tek bir koyun 4çit parçalarının tam olarak kaplanmasını gerektirir .
Test senaryoları
[1,1]
4
[1,1],[1,2],[2,2]
8
[2,1],[3,1],[2,3],[1,1],[1,3],[3,2],[1,2],[3,3]
12
[1,1],[1,2],[2,2],[3,7],[4,9],[4,10],[4,11],[5,10]
22
[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9]
36
[1,1],[2,2],[3,3],[4,4],[6,6],[7,7],[8,8],[9,9]
32
[2,1],[8,3],[8,4]
10
notlar
- Giriş koordinatlarının geçerli olduğunu varsayabilirsiniz.
- Algoritmanız teorik olarak oldukça büyük bir tamsayı koordinatı için çalışmalıdır (dilinizin desteklenen maksimum değerine kadar).
- Tam program veya işlev yanıtları uygundur.
Bu kod golf , bayt en kısa cevap kazanır!
x,ygirdi birlikte olmalıdır. Güzel bir düşünce olsa da, ben bunu hiç düşünmemiştim.
{1,2,3,4},{5,6,7,8} -> {1,5},{2,6},{3,7},{4,8}