Le scénario
Vous vivez dans un pays qui a une élection présidentielle. Chaque électeur obtient une voix et il existe donc un système bipartite bien enraciné. (Les tiers existent, mais obtiennent peu de voix).
Le dernier sondage d'opinion montre que la course est au point mort:
- 49%: Alberto Arbusto
- 49%: Jorge Sangre
- 2%: divers candidats mineurs
Les exigences du programme
Le gouvernement vous a embauché pour écrire une partie du logiciel de décompte des voix. Vous obtiendrez, en entrée standard, une liste non ordonnée des votes d’un bureau de vote, un par ligne, comme ceci:
Alberto Arbusto
Jorge Sangre
Jorge Sangre
Alberto Arbusto
Jorge Sangre
Alberto Arbusto
Alberto Arbusto
Jorge Sangre
Juan Perez
Jorge Sangre
Alberto Arbusto
Alberto Arbusto
…
et, après avoir lu tous les votes, génère un résumé du nombre de votes obtenus par chaque candidat, triés par ordre décroissant selon le nombre de votes, comme suit:
492 Jorge Sangre
484 Alberto Arbusto
18 Juan Perez
6 Mickey Mouse
La partie sournoise
Vous êtes un partisan qui veut voler l'élection de l'un des deux principaux candidats (vous pouvez choisir lequel). Ainsi, votre programme doit délibérément imprimer des comptes de vote incorrects , avec un parti pris systématique pour votre candidat préféré.
Bien sûr, vous devez faire cela de manière à ce qu'une personne consultant votre code ou sa sortie ne reconnaisse probablement pas le comportement incorrect.
...you can choose which one...
Puis-je choisir celui dont le nom est le premier?
sort|uniq -c
...