선박이 원래 부품을 모두 교체 한 경우에도 여전히 동일한 선박입니까?
이 골프를 위해 우리는 "선박"에서 "부품"을 천천히 교체하고 완전히 새로운 선박을 얻는 데 걸리는 시간을 볼 것입니다.
직무
배는 적어도 두 부분으로 구성됩니다. 부품은 부품의 조건을 나타내는 양의 (0이 아닌) 정수의 배열로 제공됩니다.
각주기마다 목록에서 하나의 부품을 균일 한 방식으로 무작위로 선택하십시오 . 해당 부품의 상태가 하나씩 줄어 듭니다. 부품 상태가 0에 도달하면 새 부품으로 대체됩니다. 새 부품은 원래 부품과 동일한 조건 값으로 시작합니다.
모든 부품이 (적어도) 한 번 교체 된 첫 번째 사이클에서 중지 된 사이클 수를 출력하십시오.
예를 들어 (여기서 무작위로 부품을 선택한다고 가정) :
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
모든 부품을 교체하는 데 8주기가 걸렸기 때문입니다. 정확한 결과는 각 실행마다 달라야합니다.
I / O
유일한 입력은 부품 조건에 대한 정수 목록 / 배열입니다. 유일한 출력은 여러 사이클입니다. 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