lru

Time limit: 0.2s Memory limit: 64MB Input: lru.in Output: lru.out

Cerință

Adrian Wonder Boy tocmai a primit un joc nou. Acesta constă din nn triunghiuri echilaterale situate în plan vertical având o latură orizontală și vârful opus acesteia îndreptat în sus. Triunghiurile au laturile de lungime 1,2,3,,n1,2,3,\dots,n și sunt incluse unul în altul astfel încât oricare două triunghiuri consecutive au un unghi comun. Mai precis, un triunghi mic (de latură ii; în desen i=3i=3) poate fi în exact urmatoarele 33 poziții față de triunghiul mai mare (de latură i+1i+1):

Starea jocului la un moment dat poate fi codificată printr-un șir de n1n-1 caractere L , R sau U care descriu poziția fiecărui triunghi de latura ii față de triunghiul de latură i+1i+1. De exemplu pentru n=4n=4 în figurile de mai jos avem trei stări ale jocului împreună cu codificările acestora.

Starea jocului poate fi modificată prin glisarea unuia dintre triunghiurile interioare pe direcția uneia dintre laturi într-un sens sau altul, cu exact o unitate. De exemplu glisând orizontal spre dreapta triunghiul de latură 22 se poate trece din starea 22 în starea 33. Față de triunghiul de latură 33, triunghiul de latură 22 a trecut din stânga în dreapta. (Reţineţi faptul că prin glisarea unui triunghi cele interioare lui rămân pe poziţia veche, deci unele mutări nu sunt posibile. De exemplu, în starea 11 triunghiul de latură 22 nu poate glisa în sus deoarece triunghiul de latură 11 ar rămâne în afara triunghiului de latură 22)

Pentru mai multe teste, cunoscând nn și două stări ale jocului, să se determine numărul minim de glisări în urma cărora jocul trece din prima stare în a doua stare.

Date de intrare

Pe prima linie a fișierului lru.in avem un număr natural tt - numărul de teste. Următoarele 3t3 \cdot t linii descriu cele tt teste, un test pe câte 33 linii. Prima linie dintre cele 33 conţine un număr natural nn – lungimea comună a codificării celor două stări. A doua linie dintre cele 33 conţine un şir de nn caractere – codificarea stării iniţiale. A treia linie dintre cele 33 conţine un sir de nn caractere – codificarea stării finale.

Date de ieșire

Fișierului lru.out va conţine tt linii. Linia k (1kt)k \ (1 \leq k \leq t) va conţine un număr natural mkm_k – soluţia testului kk din fişierul de intrare.

Restricții și precizări

  • 1t51 \leq t \leq 5
  • 2n1 000 0002 \leq n \leq 1 \ 000 \ 000
  • Pentru 70%70\% din teste, n200 000n \leq 200 \ 000

Exemplu

lru.in

1
3
RLL
LRU

lru.out

5

Explicație

Se efectuează 55 glisări și jocul trece prin următoarele stări:
RLL \rightarrow ULL \rightarrow LUL \rightarrow RUL \rightarrow RLU \rightarrow LRU

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