Brio gibi tahta raylardan, gerçek trenlerin minik metal kopyalarının tamamen dijital kontrolüne kadar birçok farklı tipte tren seti mevcuttur, fakat hepsinin ideal olarak mümkün olan en fazla parçanızı kullanarak tasarlanması gereken bir ray gerekir.
Bu nedenle, göreviniz, mevcut parçaların girişi göz önüne alındığında, tüm elemanları kullanarak komple bir kapalı devre oluşturmak mümkün olup olmadığını ve eğer değilse, mümkün olan maksimum devreden kaç adet parça bırakılacağını belirlemektir.
Bu basitleştirilmiş bir tren seti olduğundan, sadece 3 öğe vardır: büyük eğri, küçük eğri ve düz. Bunların hepsi kare bir ızgaraya dayanıyor:
- "Big Curve" 90 derecelik bir köşedir ve her boyutta 2 birim içerir
- "Küçük Eğri" 90 derecelik bir köşedir, her yöne bir ünite örter
- "Düz", 1 birim uzunluğunda düz bir öğedir
Bu, mümkün olan minimum devrenin 4 küçük eğriden oluştuğu anlamına gelir - bu, yarıçap 1 birimin bir dairesidir. Bu, çeşitli ovaller oluşturmak için düz eleman çiftleri eklenerek uzatılabilir. Daha fazla eğri ekleyerek veya eğri türlerini karıştırarak mümkün başka devreler vardır.
Bu tren seti, herhangi bir kavşağı veya rayların geçmesi için yöntemleri içermez; bu nedenle, iki elemanın başka bir elemanın aynı ucuna bağlanması (Y formasyonu yok) veya üst üste geçmesi (X formasyonu yok) için geçerli değildir. . Ek olarak, bir tren setidir, bu nedenle bir trenin geçmesine izin vermeyen herhangi bir oluşum geçerli değildir: örnekler, 90 derecelik açılarda birleşen (her zaman dikey yüksekliklerde bir eğri olmalıdır) ve 90 derecelik açılarda birleşen eğrileri içerir. (eğriler akmalıdır).
Ayrıca, ne tür olduklarını göz ardı ederek mümkün olduğu kadar çok parça kullanmak istersiniz, bu nedenle her zaman daha fazla bit içeren bir devreyi tercih edersiniz. Sonunda, sadece bir treniniz vardır, bu nedenle birden fazla devreyle sonuçlanan herhangi bir çözüm kabul edilemezdir. .
Giriş
Büyük eğrilerin, küçük eğrilerin ve mevcut büyüklüklerin sayısına veya programınıza geçirilen parametrelere aynı sırada karşılık gelen, 0'dan büyük veya 0'a eşit üç tam sayı dizisi.
Çıktı
Sağlanan elemanlar için mümkün olan maksimum devre oluşturulduğunda, kalan parça sayısına karşılık gelen bir sayı.
Test verisi
Minimal circuit using big curves
Input: [4,0,0]
Output: 0
Slightly more complicated circuit
Input: [3,1,2]
Output: 0
Incomplete circuit - can't join
Input: [3,0,0]
Output: 3
Incomplete circuit - can't join
Input: [3,1,1]
Output: 5
Circuit where big curves share a centre
Input: [2,2,0]
Output: 0
Bigger circuit
Input: [2,6,4]
Output: 0
Circuit where both concave and convex curves required
Input: [8,0,0] or [0,8,0]
Output: 0
Circuit with left over bit
Input: [5,0,0] or [0,5,0]
Output: 1
notlar
- 2 yükseklik ve küçük bir eğri büyük bir eğriye eşdeğerdir, ancak daha fazla parça kullanın, bu nedenle tercih edilir - eğer devrede büyük eğriler varsa, bu kombinasyonun kaldığı bir durum olmamalıdır
- 4 küçük eğri, genellikle 4 yükseklik için değiştirilebilir, ancak bu, devrenin kesişmesine neden olmazsa olmaz
- Tren seti de idealleştirilir - ray elemanları gösterilen genişlikleri alır, bu nedenle bazı durumlarda kavislerin kesişmeden tek bir ızgara kareden geçmesi geçerlidir. Izgara sadece eleman boyutlarını tanımlar. Özellikle, iki büyük eğri yerleştirilebilir, böylece örnek diyagramın sol üst kısmındaki ızgara karesi, soldan tepeye uzanan başka bir büyük eğrinin sağ alt karesi olacaktı (diyagram bir sağdan aşağı doğru koşarken)
- Küçük bir eğri boş alana büyük bir eğri altında sığabilir (üstte sağ alt ızgara kare). İkinci bir büyük eğri de o alanı kullanabilir, biri birinden birinden diğerine kaymıştır.
- Küçük bir eğri, büyük bir eğrinin dışıyla aynı ızgara alanına sığamaz - çoğunlukla yasadışı yollarla kesişmeyen bir yolla bağlanma yolu yoktur.
[5,0,0]
ya da[0,5,0]
olurdu1
. Bu doğru mu? Böyle bir test durumu ekleyebilir misiniz?