Bạn đã được tặng một túi Skittles. Mọi người đều biết rằng để đánh giá cao các hương vị khác nhau nhất, bạn cần phải xoay vòng giữa các hương vị.
Khái niệm cơ bản:
- Bạn chỉ có thể ăn 1 miếng nhỏ mỗi lần
- Thứ tự mà bạn ăn skittles của bạn phải được định kỳ.
- Mỗi thời kỳ không thể chứa một hương vị đặc biệt hơn một lần.
- Túi của bạn chỉ có rất nhiều skittles. Bạn không thể ăn nhiều hương vị đặc biệt của skittle hơn xuất hiện trong túi của bạn.
- Bạn muốn ăn càng nhiều skittles càng tốt (có thể không phải lúc nào cũng có thể)
Ví dụ:
Hãy nói rằng bạn bắt đầu với 3 skittles Red, 2 Blue và 3 Green:
R B G R B G R G Invalid: The last R must be followed by a B, not a G
R B G R B G R Valid, but sub-optimal
R R R Valid, but sub-optimal
R G B R G B R G Valid and optimal
G R B G R B G R Also valid and optimal (there are multiple good solutions)
Đầu ra đầu vào
- Bạn được thông qua một danh sách các số nguyên dương không trống cho số màu. (Ví dụ trên sẽ là
[3,2,3]). - Bạn cần trả về một danh sách chứa thứ tự hợp lệ và tối ưu.
- Thay vì sử dụng màu sắc, bạn sẽ sử dụng các chỉ số từ danh sách đầu vào. (Đầu ra ví dụ cuối cùng ở trên sẽ là
[2,0,1,2,0,1,2,0]). - Đầu ra của bạn có thể là 0 chỉ mục hoặc 1 chỉ mục. Ví dụ của tôi sẽ được lập chỉ mục 0
Các trường hợp thử nghiệm
1 0
4 0 0 0 0
4 1 0 0 0 0
3 1 0 1 0 or 0 0 0
5 2 2 0 1 2 0 1 2 0
2 3 5 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2
2 4 5 2 1 2 1 2 1 2 1 2
3 4 5 2 1 0 2 1 0 2 1 0 2 1 or 1 2 0 1 2 0 1 2 0 1 2
1 1 1 1 1 6 5 0 1 2 3 4 5 (lots of other solutions)
1 1 1 1 1 8 5 5 5 5 5 5 5 5
2 4 6 8 3 2 1 3 2 1 3 2 1 3 2 1 3 2
Đây là một môn đánh gôn , vì vậy hãy làm cho các giải pháp của bạn càng ngắn càng tốt bằng ngôn ngữ yêu thích của bạn!