PPCG topluluğu sayesinde Santa artık depolama arabalarını dengeledi. Şimdi, yükleme alanlarına gönderilebilmeleri için onları nakliye limanlarına taşıması gerekiyor. Ne yazık ki, arabaları hareket ettirmek için izler bir karışıklıktır ve birlikte çökmeden onları nasıl ele alacağını bulması gerekir!
Meydan okuma
Her bir araba için parkurlara "etiket" (veya istasyonlar) listesi verilecektir. Arabalar, herhangi bir zaman diliminde aynı etiket / istasyonda iki araba bulunmayacak şekilde hareket ettirilmelidir. Esasen, arabaların her biri benzersiz bir etikete sahip konumlar arasında hareket eder.
Görev
Her bir araba için izlerin bir etiket listesi (hepsi pozitif tamsayılar) listesi olarak verildiğinde, tüm arabaları hedeflerine mümkün olan en kısa sürede güvenli bir şekilde göndermek için her bir arabanın ne zaman serbest bırakılması gerektiğini belirleyin.
İşte tüm ray sisteminin nasıl çalıştığına dair bir açıklama. Diyelim ki araba etiketli bir parçaya izamanında bırakıldı . Ardından sırasında To , sepeti ızgarada değildir ve göz ardı edilebilir.t_iT_i_1, T_i_2, ..., T_i_nt_1t_i-1i
Zaman çerçevesi de t_i, sepeti etiketin üzerinde T_i_1ve her zaman dilimi için t_kgelen t_iiçin t_i+n(yarı dahil), sepeti etiketin üzerinde T_i_k+1.
Sonraki ve dahil tüm zaman dilimleri için t_i+n, araba hedefindedir ve artık ızgarada değildir.
Toplam t_Tsüre, bir sepeti sistemde hala izleyen son zaman dilimidir.
Özellikler
Bir parça sistem göz önüne alındığında, zaman dilimlerinde listesini döndürür [t_1, t_2, ..., t_n]nereye ianda inci sepeti başlar t_ibaşka hiçbir düzenleme güvenle için arabaları zamanın daha az toplam miktarı ile hedeflerine ulaşmak sağlayacak şekilde,.
Herhangi bir zaman çerçevesi de eğer "güvenli" açısından, t_1için t_Therhangi bir etikete birden fazla sepeti var, o zaman onlar çarpışır ve düzenleme "güvenli" değildi. İki arabaları hareket anlamına Not a, biçin b, ave hala izleri 2 yönlü oldukları için "güvenli" olması.
Biçimlendirme Spesifikasyonları
Girdi herhangi bir makul formatta pozitif tamsayılar matrisi olarak verilecektir. Çıktı herhangi bir makul biçimde pozitif tamsayıların bir listesi olarak verilmelidir. Çıktıyı sıfır dizinli zaman dilimlerinde verebilirsiniz, bu nedenle çıktı herhangi bir makul formatta negatif olmayan tamsayıların bir listesi olacaktır.
kurallar
- Standart Loopholes Uygula
- Bu bir kod golfüdür, bu nedenle bayttaki en kısa cevap kazanır
- Hiçbir cevap kabul edilmeyecek
Test Durumları
Input -> Output
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> [1, 1, 1]
[[1, 2, 3], [1, 2, 3]] -> [1, 2]
[[1, 2, 3], [3, 2, 1]] -> [1, 2]
[[1, 2, 3, 4], [4, 3, 2, 1]] -> [1, 1]
[[1, 1, 1], [1, 1, 1]] -> [1, 4]
[[1, 2, 3, 4], [2, 4, 3, 1]] -> [2, 1]
[[1, 2, 3, 4, 5, 6, 7], [2, 3, 3, 4], [5, 4, 3]] -> [1, 3, 4]
[[1, 2, 3, 4, 4], [1, 2, 3, 5, 4], [1, 2, 3, 4, 5]] -> [2, 3, 1]
Not: Advent Of Code'dan bu meydan okuma serisi için ilham aldım . Bu siteyle hiçbir bağlantım yok
Buradaki ilk zorluğun 'Bağlantılı' bölümüne bakarak dizideki tüm zorlukların bir listesini görebilirsiniz .
Mutlu Golf!