El escenario
Vives en un país que está teniendo elecciones presidenciales. Cada votante obtiene un voto y, por lo tanto, existe un sistema bipartidista firmemente arraigado. (Existen terceros, pero apenas obtienen votos).
La última encuesta de opinión muestra la carrera en un punto muerto:
- 49%: Alberto Arbusto
- 49%: Jorge Sangre
- 2%: varios candidatos menores
Los requisitos del programa
El gobierno lo contrató para escribir parte del software de conteo de votos. Se le dará, en una entrada estándar, una lista desordenada de los votos de un precinto, uno por línea, de esta manera:
Alberto Arbusto
Jorge Sangre
Jorge Sangre
Alberto Arbusto
Jorge Sangre
Alberto Arbusto
Alberto Arbusto
Jorge Sangre
Juan Perez
Jorge Sangre
Alberto Arbusto
Alberto Arbusto
…
y, después de leer todos los votos, genera un resumen de cuántos votos obtuvo cada candidato, ordenados en orden descendente por número de votos, de esta manera:
492 Jorge Sangre
484 Alberto Arbusto
18 Juan Perez
6 Mickey Mouse
La parte oculta
Eres un pirata partidista que quiere robar las elecciones para uno de los dos candidatos principales (puedes elegir cuál). Por lo tanto, su programa debe imprimir deliberadamente conteos de votos incorrectos , con un sesgo sistemático hacia su candidato favorito.
Por supuesto, debe hacer esto de tal manera que una persona que mira su código o su salida probablemente no reconozca el comportamiento incorrecto.
...you can choose which one...
¿Puedo elegir aquel cuyo nombre es el primero?
sort|uniq -c
...