# BLOBBYVOLLEY - Editorial

Tester and Editorialist: iceknight1093

962

None

# PROBLEM:

Alice and Bob play a game of Blobby Volley. Alice serves first.

When a player wins a point:

• If they were the server, their score increases by 1 and they remain the server.
• If they were the receiver, their score doesn’t change but they become the server for the next turn.

Given who won each point, find Alice’s and Bob’s final scores.

# EXPLANATION:

It suffices to directly simulate the process based on the given rules.

Keep three variables: the current \text{server} (either \texttt{A} or \texttt{B}), Alice’s score s_A, and Bob’s score s_B.
Initially, \text{server} = \texttt{A}, and s_A = s_B = 0.

Then, for each point in order:

• If the current server wins the point, increase the corresponding score by 1.
• Otherwise, switch the server to \texttt{B} if it was \texttt{A} and vice versa.

Finally, print s_A and s_B.

# TIME COMPLEXITY

\mathcal{O}(N) per test case.

# CODE:

Editorialist's code (Python)
for test in range(int(input())):
n = int(input())
s = input()
alice, bob = 0, 0
server = 'A'
for i in range(n):
if server == s[i]:
if server == 'A': alice += 1
else: bob += 1
else:
if server == 'A': server = 'B'
else: server = 'A'
print(alice, bob)