Diferente pentru problema/shift intre reviziile #7 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 pereche  apartine multimii 'a'..'z' si fiecare element 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.
 
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