Este anul 2019, dar Zmeul-Cel-Rău și Făt-Frumos luptă în continuare. Zmeul l-a prins pe Făt-Frumos şi l-a închis în una dintre camerele bârlogului său. Un bârlog de zmeu are forma unui tablou bidimensional, în care camerele sunt plasate sub forma a n
linii și m
coloane. Vom numerota liniile de la 1
la n
, iar coloanele de la 1
la m
, astfel că fiecare cameră poate fi identificată prin numărul liniei și al coloanei pe care se află.
Orice cameră are patru pereți și câte o ușă pe fiecare perete prin care poate comunica cu camerele învecinate. Mai exact, camera de pe linia i
și coloana j
poate comunica cu camerele (i-1,j)
, (i,j+1)
, (i+1,j)
, (i,j-1)
(desigur, dacă acestea există). Fiecare cameră are asociat un cod. Ușile din orice cameră se pot deschide cu o cartelă magnetică. Dacă codul camerei este un subșir al cuvântului memorat pe cartela magnetică, atunci ușile din camera respectivă se vor deschide folosind cartela. Ileana Cosânzeana a reușit să-i trimită lui Făt-Frumos o cartelă magnetică.
Cerința
Scrieți un program care rezolvă următoarele două cerințe:
1. determină numărul de camere în care ar putea ajunge Făt-Frumos folosind cartela primită de la Ileana Cosânzeana;
2. determină numărul minim de camere prin care trece Făt-Frumos pentru a ieși din bârlogul zmeului (adică poate deschide ușa unei camere prin care ajunge în exteriorul bârlogului).
Date de intrare
Fișierul de intrare barlog.in
conține pe prima linie cerința c
care trebuie să fie rezolvată (1
sau 2
). Pe a doua linie se află două numere naturale n m
, reprezentând numărul de linii și respectiv numărul de coloane ale tabloului care reprezintă bârlogul zmeului. Pe următoarele n
linii se află câte m
cuvinte, reprezentând în ordine codurile de acces ale camerelor din bârlogul zmeului. Pe ultima linie sunt două numere naturale și un cuvânt lin col cuv
, reprezentând linia și coloana camerei în care a fost închis Făt-Frumos, precum și cuvântul înscris pe cartela magnetică primită de Făt-Frumos de la Ileana Cosânzeana. Valorile scrise pe aceeași linie sunt separate prin câte-un spațiu.
Date de ieșire
Fișierul de ieșire barlog.out
va conține o singură linie pe care va fi scris un număr natural determinat conform cerinței c
.
Restricții și precizări
2 ≤ n, m ≤ 100
- Codurile camerelor și cuvântul de pe cartelă sunt cuvinte nevide, formate din maximum
20
de litere mici ale alfabetului englez. - Pentru datele de test, Făt-Frumos va putea ieși întotdeauna din bârlogul zmeului.
- Cuvântul
a
este un subșir al cuvântuluib
dacă literele dina
se găsesc înb
în aceeași ordine. De exempluarma
este un subșir al cuvântuluimarama
, dar nu și al cuvântuluitamara
. - Pentru teste valorând
40%
din punctaj cerința este1
. - În concurs s-au acordat
10
puncte din oficiu. Aici se acordă pentru testele din exemple.
Exemplul 1:
barlog.in
1 5 4 ana are mere bune dana cere pere multe cra ana vrea pere dar dan nu are sunt bune pe care 3 2 caravana
barlog.out
7
Exemplul 2:
barlog.in
2 5 4 ana are mere bune dana cere pere multe cra ana vrea pere dar dan nu are sunt bune pe care 3 2 caravana
barlog.out
2
Explicație
Camerele în care poate intra Făt-Frumos sunt: (3,2)
, (3,3)
, (2,2)
, (3,1)
, (4,2)
, (2,1)
, (4,1)
. Poate ieși din bârlog prin camera (3,1)
.