Existe un "juego" existente donde los piratas dividen racionalmente las monedas de oro de acuerdo con ciertas reglas. Citando de Wikipedia :
Hay 5 piratas racionales, A, B, C, D y E. Encuentran 100 monedas de oro. Deben decidir cómo distribuirlos.
Los piratas tienen un estricto orden de antigüedad: A es superior a B, superior a C, superior a D, superior a E.
Las reglas de distribución del mundo pirata son las siguientes: que el pirata más veterano debería proponer una distribución de monedas. Los piratas, incluido el proponente, votan si aceptan esta distribución. En caso de empate, el proponente tiene el voto de calidad. Si se acepta la distribución, las monedas se desembolsan y el juego termina. Si no, el proponente es arrojado por la borda del barco pirata y muere, y el siguiente pirata más veterano hace una nueva propuesta para comenzar el sistema nuevamente.
Los piratas basan sus decisiones en tres factores. En primer lugar, cada pirata quiere sobrevivir. En segundo lugar, dada la supervivencia, cada pirata quiere maximizar el número de monedas de oro que recibe cada uno. Tercero, cada pirata preferiría lanzar otro por la borda, si todos los demás resultados fueran iguales. Los piratas no confían el uno en el otro, y no harán ni cumplirán ninguna promesa entre piratas, aparte de un plan de distribución propuesto que otorgue un número entero de monedas de oro a cada pirata.
Desafío
Tome como entrada un número entero n
, 1 <= n <= 99, donde n
está el número de piratas, y genere la distribución de monedas, comenzando con el primer pirata.
Casos de prueba (se ingresa la primera línea; la segunda salida):
1
100
2
100 0
3
99 0 1
5
98 0 1 0 1
Este es el código de golf , por lo que gana la solución más corta en bytes.
n < 100
? Los barcos piratas con exceso de personal y poco dorado también necesitan ayuda de distribución.