bingo

Time limit: 0.6s Memory limit: 32MB Input: bingo.in Output: bingo.out

Fie SS un șir de caractere de lungime NN indexat de la 1. Pe un astfel de șir se definește operația swap: se alege un indice ii (1i<N1 \leq i < N) și se interschimbă caracterele S[i]S[i] și S[i+1]S[i+1].

Numărul norocos corespunzător unui șir SS este egal cu numărul minim de operații swap ce trebuie efectuate succesiv pentru a obține cel puțin o subsecvență bingo în șirul SS. Dacă subsecvența bingo apare în șirul inițial, numărul norocos este egal cu 00.

Cerință

Se dă un număr natural TT și TT șiruri de caractere. Să se determine pentru fiecare șir dat SiS_i (1iT1 \leq i \leq T), numărul său norocos.

Date de intrare

Fișierul de intrare bingo.in conține pe prima linie un număr natural nenul TT. Următoarele TT linii conțin fiecare câte un șir de caractere format doar din litere mici ale alfabetului englez.

Date de ieșire

Fișierul de ieșire bingo.out conține numerele norocoase determinate pentru fiecare dintre cele TT șiruri date. Acestea se vor afișa fiecare pe câte un rând, în ordinea în care șirurile sunt date în fișierul de intrare.

Restricții și precizări

  • 1T10 0001 \leq T \leq 10 \ 000;
  • i=1TSi100 000\sum_{i=1}^{T}|S_i| \leq 100 \ 000, unde se notează cu S|S| numărul de caractere din șirul SS;
  • O subsecvență de lungime LL a unui șir de caractere SS reprezintă o succesiune de LL caractere aflate pe poziții consecutive în șirul SS.
  • Se garantează că fiecare șir citit conține cel puțin o dată fiecare caracter din mulțimea {b,i,n,g,o}\{b,i,n,g,o\};
  • Pentru 1717 puncte, Si=5|S_i|=5 (1iT1 \leq i \leq T);
  • Pentru 2121 de puncte, în fiecare șir SiS_i (1iT1 \leq i \leq T) fiecare caracter din mulțimea {b,i,n,g,o}\{b,i,n,g,o\} apare exact o dată;
  • Pentru 1111 puncte, 1T101 \leq T \leq 10 și în fiecare șir SiS_i (1iT1 \leq i \leq T) fiecare caracter din mulțimea {b,i,n,g,o}\{b,i,n,g,o\} apare de cel mult 10 ori;
  • Pentru 5151 de puncte, nu există restricții suplimentare.

Exemplu

bingo.in

8
nbbigo
ibhpnogg
bihhhhhhhhngo
nbxgyoi
uobsioboisinosaogvnibn
hgibaisianiaosanbviaobi
ybingo
btgpntoipipqiamytoghoi

bingo.out

3
6
16
8
7
14
0
9

Explicație

Numărul norocos al primului șir citit este 33, iar o succesiune posibilă de operații este: nbbigobnbigobbnigobbingonbbigo \xrightarrow{} bnbigo \xrightarrow{} bbnigo \xrightarrow{} bbingo.

Log in or sign up to be able to send submissions!