Bạn là anh hùng tốt nhất và nổi tiếng nhất của khu vực. Gần đây đã có tin đồn rằng một con Hydra đang lang thang trong khe núi gần đó. Trở thành người hùng dũng cảm và đức độ mà bạn là bạn sẽ thấy bạn sẽ kiểm tra nó vào ngày hôm nay.
Vấn đề với hydrae là mỗi khi bạn cố gắng cắt đầu chúng, một số cái mới mọc lại. May mắn cho bạn, bạn có những thanh kiếm có thể cắt nhiều đầu cùng một lúc. Nhưng có một nhược điểm, nếu hydra có ít đầu hơn thanh kiếm của bạn, bạn sẽ không thể tấn công hydra. Khi hydra có đầu không chính xác, bạn đã giết nó.
Ngoài ra còn có một thanh kiếm đặc biệt gọi là The Bisector sẽ cắt đứt một nửa số đầu của Hydra, nhưng chỉ khi số lượng đầu là chẵn. Bisector hoàn toàn không thể được sử dụng khi số lượng đầu là số lẻ. Điều này khác với việc cắt đầu không.
Vì vậy, bạn đã quyết định bạn sẽ viết một chương trình máy tính để tìm ra cách tốt nhất để giết hydra.
Bài tập
Bạn sẽ được cung cấp như là đầu vào
- số lượng đầu của Hydra bắt đầu bằng
- số lượng người đứng đầu Hydra rút lại mỗi lượt
- một danh sách các thanh kiếm có sẵn để sử dụng mỗi loại (mỗi thanh kiếm là một thanh kiếm hoặc cắt một số lượng đầu cố định mỗi lượt)
Bạn nên đưa ra một danh sách các chiêu thức sẽ giết chết hydra trong số lượt ít nhất có thể. Nếu không có cách nào để giết hydra, bạn phải xuất một số giá trị khác cho biết như vậy (và danh sách trống sẽ ổn nếu ngôn ngữ của bạn được gõ mạnh). Nếu có nhiều cách tối ưu để tiêu diệt hydra, bạn có thể xuất ra bất kỳ một trong số chúng hoặc tất cả chúng.
Đây là một câu hỏi golf-code vì vậy câu trả lời sẽ được tính bằng byte, với ít byte hơn sẽ tốt hơn.
Các trường hợp thử nghiệm
Có sẵn theo yêu cầu
5 heads, 9 each turn, [-1,-2,-5] -> [-5]
12 heads, 1 each turn, [/2,-1] -> No solution
8 heads, 2 each turn, [-9, -1] -> [-1,-9]
3 heads, 23 each turn, [/2,-1,-26] -> [-1,-1,-26,-26,-26,-26,-26,-26,-26,-26]
16 heads, 1 each turn, [/2, 4, 2] -> [/2,-4,/2,-4]
Câu hỏi này là một phiên bản đơn giản hóa của cơ chế chính của HydraSlayer . Nếu bạn thích loại câu đố này, tôi khuyên bạn nên kiểm tra nó, nó khá thú vị. Tôi không có bất kỳ liên kết với trò chơi.
[/2, -2, /2, -2, -4]
cũng hoạt động.