Dies ist eine Herausforderung, bei der zwei Personen, 1 und 2, um ein Amt kandidieren. Die Menschen in der Welt von 1 und 2 stimmen deterministisch auf bestimmte Weise ab, so dass die Kandidaten die Ergebnisse vor der Wahl herausfinden können.
HINWEIS: Dies bezieht sich nicht auf externe Wahlen oder andere politische Ereignisse.
Zwei Leute kandidieren. Wir werden diese Leute 1 und 2 nennen. Da beide wissen wollen, ob sie die Wahl gewinnen werden, entscheiden sie sich, ihr Wissen über Leute und einen Code zu nutzen, um herauszufinden, was das Ergebnis sein wird. Um die Staatsausgaben so gering wie möglich zu halten, muss der Kodex so kurz wie möglich sein.
Ihre Aufgabe: Geben Sie anhand einer bestimmten Anzahl von Personen aus, wer die Wahl gewinnt.
In der lustigen und aufregenden Welt von 1 und 2 gibt es fünf Arten von Menschen:
A
: Leute, die definitiv für 1 stimmen werden.B
: Leute, die definitiv für 2 stimmen werden.X
: Menschen, die für die Person zu ihrer Linken stimmen, stimmen für. Befindet sich keine Person zu ihrer Linken, stimmen sie für denjenigen, für den die Person zu ihrer Rechten stimmen wird. Wenn nicht klar ist, für wen die Person zu ihrem Recht stimmt, stimmen sie nicht ab.Y
: Die Leute wählen das Gegenteil der Person zu ihrer Linken. Befindet sich keine Person zu ihrer Linken, stimmen sie entgegengesetzt zu der Person, die sich zu ihrer Rechten befindet. Wenn nicht klar ist, für wen die Person zu ihrem Recht stimmt, stimmen sie nicht ab.N
: Leute, die nicht wählen.
Dies wird von links nach rechts ausgewertet.
Beispiel:
Wer "evaluiert" wird, wird aus Gründen der Übersichtlichkeit in Kleinbuchstaben angegeben.
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
Abschließende Umfrage:
2 Personen haben für 1 gestimmt
1 Personen haben für 2 gestimmt
3 Personen haben nicht abgestimmt
1 hat die meisten Stimmen, also gewinnt 1!
Testfälle:
Sie können andere Zeichen oder Werte als Eingabe und Ausgabe verwenden, sofern sie unterschiedlich sind. (Zum Beispiel: Zahlen anstelle von Buchstaben, verschiedene Buchstaben, Kleinbuchstaben, wahr / falsch oder positiv / negativ (für die Ausgabe) usw.)
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
das Gegenteil von anzugeben none
, wenn das Verhalten NY
in den Kommentaren korrekt ist.
XA
, XB
, YA
und YB
.