QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 64 MB Total points: 100 Hackable ✓

#6789. Otro juego de piedras más

Statistics

Alice y Bob están jugando a otro juego de piedras más. Las reglas son las siguientes:

  • El juego comienza con $n$ montones de piedras numerados del $1$ al $n$. El montón $i$ contiene $a_i$ piedras y una restricción especial indicada por $b_i$.

  • Los jugadores realizan sus movimientos por turnos. Los movimientos permitidos son distintos para los dos jugadores.

  • Un movimiento permitido de Bob consiste en retirar una cantidad positiva de piedras de un montón.

  • Un movimiento permitido de Alice también consiste en retirar una cantidad positiva de piedras de un montón, pero está limitado por la restricción $b_i$ de ese montón.

    • Si $b_i = 0$, no hay restricciones.

    • Si $b_i = 1$, Alice solo puede retirar una cantidad impar de piedras de ese montón.

    • Si $b_i = 2$, Alice solo puede retirar una cantidad par de piedras de ese montón.

    Ten en cuenta que Bob no tiene restricciones.

  • El jugador que no pueda realizar un movimiento permitido pierde.

Alice siempre mueve primero. ¿Quién ganará si ambos juegan de forma óptima?

Entrada

Hay varios casos de prueba. La primera línea de la entrada contiene un entero $T$ que indica el número de casos. Para cada caso:

La primera línea contiene un entero $n$ ($1 \le n \le 10^5$), que indica el número de montones.

La segunda línea contiene $n$ enteros $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$), que indican el número de piedras en cada montón.

La tercera línea de cada caso contiene $n$ enteros $b_1, b_2, \ldots, b_n$ ($0 \le b_i \le 2$), que indican la restricción especial de cada montón.

Se garantiza que la suma de $n$ de todos los casos no supera $10^6$.

Te recordamos que este problema tiene archivos de entrada y salida grandes, por lo que se recomienda usar un método de E/S más rápido. Por ejemplo, puedes usar scanf/printf en lugar de cin/cout en C++.

Salida

Para cada caso, imprime “Alice” (sin las comillas) si Alice ganará. En caso contrario, imprime “Bob” (sin las comillas).

Ejemplos

Entrada 1

3
2
4 1
1 0
1
3
2
1
1
2

Salida 1

Alice
Bob
Bob

Nota

En el primer caso, Alice puede retirar 3 piedras del primer montón y después ganar el juego.

En el segundo caso, como Alice solo puede retirar una cantidad par de piedras, no puede retirar todas las piedras en el primer movimiento. Por tanto, Bob puede retirar todas las piedras restantes en su turno y ganar.

En el tercer caso, Alice no puede retirar ninguna cantidad de piedras al comienzo del juego, así que Bob gana.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.