Theseus Gemi gibi bir şey gider eski soru:
Bir gemi tüm orijinal parçalarını değiştirdiyse, hala aynı gemi midir?
Bu golf için, yavaş yavaş bir "gemide" "parçaları" değiştireceğiz ve yepyeni bir gemi almanın ne kadar süreceğini göreceğiz.
Görev
Bir gemi en az iki parçadan oluşur. Parçalar, parçanın durumunu temsil eden bir pozitif (sıfır olmayan) tamsayı dizisi olarak verilir.
Her döngüde, listeden bir parçayı düzgün bir şekilde rastgele seçin . Bu parçanın durumu bir azaltılacak. Bir parçanın durumu sıfıra ulaştığında, yerine yeni bir parça konur. Yeni parça, orijinal ile aynı koşul değeriyle başlar.
Tüm parçaların (en azından) bir kez değiştirildiği ilk döngüde durun ve aldığı döngü sayısını çıkartın.
Örneğin (burada rastgele parçaları seçtiğimi varsayın):
2 2 3 <- starting part conditions (input)
2 1 3 <- second part reduced
2 1 2 ...
2 1 1
2 2 1 <- second part reduced to zero, replaced
1 2 1
1 2 3 <- third part replaced
1 1 3
2 1 3 <- first part replaced
Bu örneğin çıktısı 8, değiştirilecek tüm parçaların sekiz döngüsünü alması nedeniyle olacaktır. Kesin çıktı her çalışma için farklı olmalıdır.
I / O
Tek girdi, parça koşulu için tamsayıların listesi / dizisidir. Tek çıkış bir dizi döngüdür. Bu değerleri alışılmış yollardan biriyle alabilir / verebilirsiniz: STDIO, işlev bağımsız değişkenleri / iadeler, vb.
Test Durumları
Çıktı sabit olmadığından, test etmek istediğiniz her şeyi kullanabilirsiniz, ancak standartlaştırma amacıyla bir çift:
1 2 3 4
617 734 248 546 780 809 917 168 130 418
19384 74801 37917 81706 67361 50163 22708 78574 39406 4051 78099 7260 2241 45333 92463 45166 68932 54318 17365 36432 71329 4258 22026 23615 44939 74894 19257 49875 39764 62550 23750 4731 54121 8386 45639 54604 77456 58661 34476 49875 35689 5311 19954 80976 9299 59229 95748 42368 13721 49790