Nu aveti permisiuni pentru a descarca fisierul grader_test17.ok
Diferente pentru problema/shift intre reviziile #8 si #26
Diferente intre titluri:
shift
Shift
Diferente intre continut:
== include(page="template/taskheader" task_id="shift") ==
Se da o masinarie care poate sa citeasca si sa scrie caractere. Masinaria dispune de o banda de perechi de caractere de lungime 26 (asezate una dupa alta).Un caracter dintr-o perecheapartine multimii 'a'..'z' si fiecareelement apare de exact doua ori pe banda. Pentru a scrie un text, masinaria are nevoie mai intai sa-l citeasca. Asa ca dispune de un cap de citire, pozitionat initial pe pozitia 1 pe banda. Pentru a citi un caracter, masinaria trebuie sa-si pozitioneze capul pe un element al benzii care contine caracterul respectiv. Se stie ca, pentru a deplasa capul de citire intr-o directie (stanga sau dreapta) , masina va consuma un joul. De asemenea , pentru a citi primul caracter de pe o pereche i, masina va counsuma C{~i,0~} jouli si,pentru a citi al doilea caracter de pe o pereche i, masina va consuma C{~i,1~} jouli.
Se da o masinarie care poate sa citeasca si sa scrie caractere. Masinaria dispune de o banda de perechi de caractere de lungime 26 (asezate una dupa alta). Un caracter dintr-o pereche apartine multimii $'a'..'z'$ si fiecare caracter apare de exact doua ori pe banda. Pentru a scrie un text, masinaria are nevoie mai intai sa-l citeasca asa ca dispune de un cap de citire, pozitionat initial pe pozitia 1 pe banda. Pentru a citi un caracter, masinaria trebuie sa-si pozitioneze capul pe un element al benzii care contine caracterul respectiv. Se stie ca, pentru a deplasa capul de citire intr-o directie (stanga sau dreapta) , masina va consuma un joul. De asemenea , pentru a citi primul caracter de pe o pereche i, masina va counsuma $C{~i,0~}$ jouli si, pentru a citi al doilea caracter de pe o pereche i, masina va consuma $C{~i,1~}$ jouli.
Dandu-se un text S, scrieti timpul minim necesar pentru a-l scrie la masina.
h2. Cerinta Dandu-se un text $S$, scrieti timpul minim necesar pentru a-l scrie la masina.
h2. Date de intrare
Fişierul de intrare $shift.in$ ...
Fişierul de intrare $shift.in$ va contine pe prima linie textul $S$. Pe urmatoarele 26 de linii vor se vor afla cate doua caractere $a{~i,0~}$ si $a{~i,1~}$ separate printr-un spatiu reprezentand primul si respectiv al doilea caracter din perechea a i-a. Pe urmatoarele 26 de linii se for afla $C{~i,0~}$ si $C{~i,1~}$ , numarul de jouli necesari scrierii primului caracter din perechea i si respectiv numarul de jouli necesari scrierii celui de-al doilea caracter din perechea $i$.
h2. Date de ieşire
În fişierul de ieşire $shift.out$ ...
În fişierul de ieşire $shift.out$ se va afla un singur numar, $Sol$, reprezentand numarul minim de jouli necesari scrierii textului $S$ cu ajutorul masinariei.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ lungime(S) ≤ 100.000$ * sirul $S$ va contine doar caractere din multimea $'a'..'z'$ * $1 ≤ C{~i,j~} ≤ 10$
h2. Exemplu table(example). |_. shift.in |_. shift.out |
| This is some text written on multiple lines. | This is another text written on multiple lines.
|phqghumeay l n l f d x f i r c v s c x g g b w k n q d u w o z v s r t k j p e p y t m y q e i m z a a o b j u h h 1 1 1 2 2 2 1 1 1 1 2 2 2 1 2 1 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 | 84
|
h3. Explicaţie ... == include(page="template/taskfooter" task_id="shift") ==
== include(page="template/taskfooter" task_id="shift") ==
Nu exista diferente intre securitate.
Diferente intre topic forum:
7802