Ti è stata data una borsa di birilli. Tutti sanno che per apprezzare di più i diversi sapori, è necessario ruotare tra i sapori.
Nozioni di base:
- Puoi mangiare solo 1 birillo alla volta
- L'ordine in cui mangi i tuoi birilli deve essere periodico.
- Ogni periodo non può contenere un sapore particolare più di una volta.
- La tua borsa ha solo tanti birilli. Non puoi mangiare più di un particolare sapore di fragole di quello che appare nella tua borsa.
- Vuoi mangiare più birilli che puoi (potrebbe non essere sempre possibile)
Esempi:
Diciamo che inizi con 3 birilli rossi, 2 blu e 3 verdi:
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)
Input Output
- Viene passato un elenco non vuoto di numeri interi positivi per i conteggi dei colori. (L'esempio sopra sarebbe
[3,2,3]). - È necessario restituire un elenco contenente ordini validi e ottimali.
- Invece di usare i colori, utilizzerai gli indici dall'elenco di input. (L'ultimo esempio di output sopra sarebbe
[2,0,1,2,0,1,2,0]). - L'output può essere 0 indicizzato o 1 indicizzato. I miei esempi saranno indicizzati 0
Casi test
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
Questo è un codice-golf , quindi rendi le tue soluzioni il più brevi possibile nella tua lingua preferita!