これは、1人と2人の2人が出勤するという課題です。1と2の世界では、人々は特定の方法で決定論的に投票するため、候補者は選挙前に結果を把握できます。
注:これは、外部の選挙やその他の政治的出来事を指すものではありません。
2人がオフィスに走っています。これらの人々を1と2と呼びます。どちらも選挙に勝つかどうかを知りたがっているので、彼らは人々の知識といくつかのコードを使用して結果がどうなるかを判断します。政府の支出を最小限に抑えるため、コードはできるだけ短くする必要があります。
あなたの仕事:投票方法に基づいて一連の人々を与え、選挙で勝った人を出力します。
1と2の楽しくてエキサイティングな世界には5種類の人々がいます。
A
:1に間違いなく投票する人B
:間違いなく2に投票する人。X
:左の人が投票する人に投票する人。左に人がいない場合は、右の人が投票する人に投票します。自分の権利のある人が誰に投票しているかが明確でない場合、彼らは投票しません。Y
:人々は左の人の反対に投票します。左側に人がいない場合は、右側にいる人の反対に投票します。自分の権利のある人が誰に投票しているかが明確でない場合、彼らは投票しません。N
:投票しない人。
これは左から右に評価されます。
例:
明確にするために、「評価」されている人はすべて小文字です。
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
最終投票:
2人が1票を投じました
1人が2に投票しました
3人が投票しませんでした
1票が最も多いので、1勝!
テストケース:
他の文字または値は、区別できる限り、入力および出力として使用できます。(例:文字の代わりに数字、異なる文字、小文字、真実/偽、または正/負(出力用)など)
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
はの反対であると指定する価値があるかもしれません。none
NY
XA
、XB
、YA
とYB
。