Rezolvare PBinfo #2187

Decorative Icon Problema: expand / 2187

Decorative IconAutor: Darius

Ana şi Bogdan au inventat un nou joc, pe care l-au numit Expand. Jocul are N cartonaşe, pe fiecare cartonaş fiind scrisă o literă şi o secvenţă formată din două sau trei litere. O mutare constă în utilizarea unui cartonaş prin care o singură apariţie a literei scrisă pe cartonaş va fi înlocuită în cuvântul curent cu secvenţa corespunzătoare de pe cartonaş. Apoi cartonaşul este repus în joc, astfel că acelaşi cartonaş poate fi utilizat de oricâte ori. Iniţial Ana alege o literă şi un cuvânt. Bogdan trebuie să obţină cuvântul spus de Ana, plecând de la litera respectivă, efectuând un număr minim de mutări.

Cerința

Scrieţi un program care determină numărul minim de mutări necesare pentru a obţine din litera aleasă de Ana cuvântul dat.

Date de intrare

Fișierul de intrare expand.in conţine pe prima linie litera şi cuvântul alese de Ana, separate printr-un singur spaţiu. Pe a doua linie este scris un număr natural N, reprezentând numărul de cartonaşe din joc. Pe următoarele N linii sunt descrise cartonaşele. O linie care descrie un cartonaş conţine litera scrisă pe cartonaş, apoi secvenţa corespunzătoare separate printr-un singur spaţiu.

Date de ieșire

Fișierul de ieșire expand.out va conţine o singură linie pe care va fi scris numărul minim de mutări necesare pentru a obţine cuvântul ales de Ana din litera dată.

Restricții și precizări
  • 1 ≤ N ≤ 15
  • Toate literele sunt litere mici ale alfabetului englez.
  • Lungimea cuvântului ales de Ana este cel mult 15.
  • Pentru datele de test există întotdeauna soluţie.
Exemplu:

expand.in

a anatol
8
x yy
a aa
a ana
a ato
a tol
n na
n nat
t tol

expand.out

3

Explicație

Din litera a trebuie să obţinem cuvântul anatol
Alegem mai întâi cartonaşul a ana
Astfel am transformat litera a în cuvântul ana
Alegem cartonaşul n na şi înlocuim ultimul n cu na, obţinând anaa
Alegem cartonaşul a tol şi înlocuim ultimul a cu tol obţinând anatol
Numărul de mutări efectuate este 3.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate