QOJ.ac

QOJ

时间限制: 2 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#18675. Voltear pares de monedas

统计

$N$ monedas están colocadas en una fila. Cada moneda muestra cara o cruz.

Puedes repetir la siguiente operación tantas veces como desees:

  • Elige dos monedas adyacentes que estén mostrando la misma cara y voltéalas ambas.

Voltear una moneda que muestra cara la deja mostrando cruz, y voltear una moneda que muestra cruz la deja mostrando cara.

Dado el estado de cada moneda, determina si es posible hacer que todas las monedas muestren cara y, de ser posible, encuentra el número mínimo de operaciones necesarias para lograrlo.

Entrada

La primera línea contiene el número de casos de prueba $T$. ($1 \le T \le 10\,000$)

La primera línea de cada caso de prueba contiene el número de monedas $N$. ($1 \le N \le 1\,000\,000$)

La segunda línea de cada caso de prueba contiene una cadena $S$ de longitud $N$ que representa el estado de cada moneda. Para todo $1 \leq i \leq N$, el $i$-ésimo carácter de $S$ es H si la $i$-ésima moneda muestra cara, y T si muestra cruz.

La suma total de $N$ sobre todos los casos de prueba no supera $1\,000\,000$.

Salida

Para cada caso de prueba, imprime en una línea el número mínimo de operaciones necesarias para hacer que todas las monedas muestren cara desde el estado dado. Si es imposible, imprime $-1$ en su lugar.

Ejemplos

Entrada 1

2
5
HTHHT
2
HT

Salida 1

3
-1

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.