如果一艘船的所有原始零件都已更换,那它还是同一艘船吗?
对于本次高尔夫,我们将逐步替换“船”上的“零件”,并查看获得一艘新船需要多长时间。
任务
一艘船至少由两部分组成。零件以正(非零)整数数组的形式给出,代表零件的状况。
在每个循环中,以统一的方式从列表中随机选择一个零件。该零件的状况将减少一。当零件的条件达到零时,将其替换为新零件。新零件以与原始零件相同的条件值开始。
在第一个周期中,所有部件(至少)被更换了一次(至少),停止并输出所花费的周期数。
例如(假设我在这里随机选择零件):
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
此示例的输出为8
,因为更换所有零件花费了八个周期。每次运行的确切输出应有所不同。
输入输出
唯一的输入是零件条件的整数列表/数组。唯一的输出是多个周期。您可以通过任何常用方式获取/提供这些值:STDIO,函数参数/返回值等。
测试用例
由于输出不是固定的,因此您可以使用任何要测试的东西,但是出于标准化目的,这里有一些:
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