Il s'agit d'un défi dans lequel deux personnes, 1 et 2, se présentent aux élections. Les gens votent de manière déterministe de certaines façons dans le monde de 1 et 2, ce qui peut permettre aux candidats de déterminer les résultats avant l'élection.
REMARQUE: ceci n'est pas destiné à faire référence à des élections extérieures ou à d'autres événements politiques.
Deux personnes se présentent aux élections. Nous appellerons ces personnes 1 et 2. Parce qu'ils veulent tous les deux savoir s'ils gagneront l'élection, ils décident d'utiliser leur connaissance des gens et un code pour déterminer le résultat. En raison de la volonté de minimiser les dépenses publiques, le code doit être aussi court que possible.
Votre tâche: compte tenu d'une chaîne de personnes en fonction de la façon dont ils votent, affichez qui remporte l'élection.
Il existe cinq types de personnes dans le monde amusant et excitant de 1 et 2:
A
: les gens qui voteront certainement pour 1.B
: des gens qui voteront définitivement pour 2.X
: les personnes qui voteront pour la personne à leur gauche voteront pour. S'il n'y a personne à leur gauche, alors ils votent pour celui pour qui la personne à leur droite votera. S'il n'est pas clair pour qui la personne à leur droite vote, alors ils ne votent pas.Y
: les gens voteront l'opposé de la personne à leur gauche. S'il n'y a personne à leur gauche, alors ils votent en face de celui qui est à leur droite. S'il n'est pas clair pour qui la personne à leur droite vote, alors ils ne votent pas.N
: les gens qui ne votent pas.
Ceci est évalué de gauche à droite.
Exemple:
Celui qui est "évalué" est en minuscules, pour plus de clarté.
Input: `XXAYAN`
xX Votes for whoever their friend is voting for. Their friend has not decided yet, so it is unclear, so they do not vote.
Xx Person to left is voting "none" so votes "none."
a Votes for 1
Ay Since person on left is voting for 1, votes for 2.
a Votes for 1
n Does not vote
Sondage final:
2 personnes ont voté pour 1
1 personnes ont voté pour 2
3 personnes n'ont pas voté
1 a le plus de votes, donc 1 gagne!
Cas de test:
Vous pouvez utiliser d'autres caractères ou valeurs en entrée et en sortie, tant qu'ils sont distincts. (Par exemple: des chiffres au lieu de lettres, des lettres différentes, des lettres minuscules, véridiques / fausses ou positives / négatives (pour la sortie), etc.)
Input -> Output
"AAAA" -> 1
"BBBB" -> 2
"BBAXY" -> 2
"BAXYBNXBAYXBN" -> 2
"XXAYAN" -> 1
"AAAABXXXX" -> 2
"AXNXXXXAYB" -> 1
"NANNY" -> 1
"XA" -> 1
"YAB" -> 2
"XY" -> anything (do not need to handle test cases with no victor)
"AB" -> anything (do not need to handle test cases with no victor)
none
c'est le contraire de none
, si le comportement de NY
dans les commentaires est correct.
XA
, XB
, YA
et YB
.