Pagini recente » Atasamentele paginii Profil LazarescuS | Profil davidchirita | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru problema/cypher intre reviziile 4 si 13
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="cypher") ==
Tocmai aţi găsit cutia fermecată ce conţine 100 de puncte la o problemă de la testul practic. Totuşi, pentru a o putea deschide trebuie să spargeţi un cifru. Cifrul este construit ca un mecanism cu 4 discuri cu numere de la 0 la 9, sub fiecare disc aflându-se 2 butoane sub formă de săgeţi, fiecare buton deplasând discul de deasupra sa în ordinea indicată de săgeţi. Pentru o imagine mai clară asupra cum arată cifrul consultaţi poza de mai jos.
Aceasta problema are dificultate medie
!problema/cypher?image.jpg!
Tocmai aţi găsit cutia fermecată ce conţine 100 de puncte la o problemă de la testul practic. Totuşi, pentru a o putea deschide trebuie să spargeţi un cifru. Cifrul este construit ca un mecanism cu 4 discuri cu numere de la 0 la 9, deasupra fiecarui disc aflându-se 2 butoane sub formă de săgeţi, fiecare buton deplasând discul de deasupra sa în ordinea indicată de săgeţi. Pentru o imagine mai clară asupra cum arată cifrul consultaţi poza de mai jos.
Fiecare configuraţie în care poate ajunge cifrul poate fi codificată printr-un număr pe 4 cifre. De exemplu starea din poză corespunde numărului 8056.
!problema/cypher?img5.jpg!
Fiecare configuraţie în care poate ajunge cifrul poate fi codificată printr-un număr pe 4 cifre. De exemplu starea din poză corespunde numărului 3886.
Pentru a obţine cele 100 de puncte voi trebuie să aduceţi cifrul dintr-o stare iniţială I ~1~ I ~2~ I ~3~ I ~4~ într-o stare finală F ~1~ F ~2~ F ~3~ F ~4~ printr-un număr minim de apăsări de buton, fără a trece printr-o configuraţie interzisă.
Pe prima linie se găseşte starea iniţială I ~1~ I ~2~ I ~3~ I ~4~, şi pe a 2-a linie starea finală F ~1~ F ~2~ F ~3~ F ~4~.
Pe a 3-a linie se găseşte numărul N reprezentând numărul de stări interzise, iar pe următoarele N linii se găsesc cate 4 numere R ~1~ R ~2~ R ~3~ R ~4~ reprezentând stările interzise.
*Hint*
Dacă o stare este reprezentată ca un număr de 4 cifre, pentru a trece la următoarea stare trebuie adunat sau scăzut la acesta o putere a lui 10. 6666 + {1, 10, 100, 1000}. Atenţie la overflow!
h2. Date de ieşire
Fişierul de ieşire $cypher.out$ va conţine T valori, fiecare pe câte o linie, reprezetând numărul minim de mutări pentru a ajunge din starea iniţială în starea finală în condiţiile precizate în enunţ, sau -1 în cazul în care acest lucru este imposibil.
h2. Exemplu
table(example). |_. cypher.in |_. cypher.out |
| 8 0 5 6
| 2
8 0 5 6
6 5 0 8
5
8 0 5 7
5 5 0 8
7 5 0 8
6 4 0 8
0 0 0 0
5 3 1 7
8
0 0 0 1
0 0 0 9
0 0 1 0
0 0 9 0
0 1 0 0
0 9 0 0
1 0 0 0
9 0 0 0
| 14
-1
|
h3. Explicaţie
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.