그 히드라를 죽인 지 얼마되지 않아 오랜 세월 영광을 누리지 만 지금은 사람들이 당신을 씻고 있다고합니다. 글쎄, 당신이 그들을 잘못 증명할 때, 당신은 다른 히드라의 행방을 들었습니다. 단순히 그것을 죽이면 당신은 당신이받을만한 모든 영광을 얻게 될 것입니다.
당신은 당신의 검을 받기 위해 병기고에 도착하지만, 그들이 남겨둔 모든 것은 일반 검에서 모두 섹터입니다. n- 섹터는 Hydra의 헤드 수를 n으로 나누지 만 헤드 수를 n으로 나눌 수있는 경우에만 사용할 수 있습니다.
다시 한 번 히드라를 죽이는 데 도움이되는 코드를 작성하려고합니다. 코드는 히드라 수두를 입력하고, 싸움을 시작하며, 매 차례마다 수두가 자라는 헤드 수와 사용할 수있는 n 섹터 목록을 입력으로 사용합니다. 코드는 가능한 한 빨리 히드라를 없애기위한 최적의 움직임 패턴을 출력합니다.
한 번의 전투에서 당신은 하나의 칼을 선택할 수 있습니다. 슬라이스 후에 히드라에 머리가 하나만 있다면, 머리가 자라지 않는다면 말입니다. 당신은 결코 움직이지 않을 수 있으며, 가능한 움직임이 없으면 잃게됩니다.
해결책이 없으면 빈 목록, 아무것도 없음, 숫자 0 등과 같은 해결책 이외의 것을 출력 할 수 있습니다.
이것은 코드 골프 이므로 응답은 바이트 수로 점수가 매겨지며 덜 나아집니다.
테스트 사례
다음은 몇 가지 기본 테스트 사례입니다. 요청시 추가 테스트 사례가 추가됩니다.
24 heads, 1 heads per turn, [2,3] -> [3,3,2,3]
25 heads, 2 heads per turn, [2,3] -> No solutions
4 heads, 2 heads per turn, [2] -> No solutions
4 heads, 3 heads per turn, [2,5] -> [2,5]
10 heads, 17 heads per turn, [2, 3, 7, 19] -> No solutions
10 heads, 6 heads per turn, [1,16] -> [1,16]
6 heads, 2 heads per turn, [2, 3, 5] -> [2, 5]
125 heads, 1 head per turn, [1, 2, 3, 127] -> [1, 1, 127]