Fişierul intrare/ieşire:fences.in, fences.outSursăACM-ICPC Faza Nationala 2017
AutorMihai CalanceaAdăugată deklamathixMihai Calancea klamathix
Timp execuţie pe test0.1 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Fences

Ai gasit un android care pare, la prima vedere, sa fie destinat constructiei de garduri. Excelent, tie nu prea iti plac oamenii, deci un gard nou n-ar strica, indiferent unde ar fi.

Androidul poate face miscari in directiile L = stanga, R = dreapta, U = sus si D = jos. La fiecare miscare executata, acesta se deplaseaza cu un metru in directia aleasa si adauga un segment de gard intre noua sa pozitie si vechea sa pozitie. Din pacate, androidul nu pare reprogramabil, tot ce poti face este sa reordonezi instructiunile deja existente in memoria sa. Nu poti adauga sau elimina comenzi noi. Te intrebi acum care este aria maxima a unei figuri pe care androidul o poate ingradi complet.

Spre exemplu, daca gasesti comenzile "LRUD" in memoria androidului, poti ingradi un patrat de arie 1 daca dai comenzilor ordinea "LURD". Daca nu modifici programul, acesta ingradeste o zona de arie 0. In general nu este necesar ca androidul sa revina in pozitia sa initiala dupa executarea comenzilor.

Date de intrare

Fişierul de intrare fences.in va contine pe prima sa linie numarul de teste T. Urmeaza T teste, fiecare continand un sir de caractere din multimea {'L', 'R', 'U', 'D'}.

Date de ieşire

În fişierul de ieşire fences.out se vor afla T numere, raspunsul la fiecare test in parte.

Restricţii

  • 1 ≤ T ≤ 100
  • 1 ≤ Lungimea sirului de comenzi ≤ 200.000
  • Numarul total de comenzi in cadrul aceluiasi fisier este cel mult egal cu 2.000.000.

Exemplu

fences.infences.out
3
LLLR
LLRUD
LRLDDDUURLRLRUDRL
0
1
15
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content