COCI-20 (2020) - Γύρος #1 - 2 (Bajka)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 512M

Author:
Problem types
Allowed languages
C, C++, Java, Pascal, Python
Bajka

coci20a2-figure.svg

Ο μικρός Fabijan βαρέθηκε τα βιβλία με εικόνες και έτσι αποφάσισε να διαβάσει το πρώτο του παραμύθι. Δυστυχώς, ο Fabijan συναντά συχνά μια λέξη που τον τρομάζει. Για να ξεπεράσει τον φόβο του, θα παίξει ένα παιχνίδι που επινόησε.

Η τρομακτική λέξη μπορεί να αναπαρασταθεί ως μια σειρά από n πεζά γράμματα. Για να ξεκινήσει το παιχνίδι, ο Fabijan βάζει το δάχτυλό του σε κάποια θέση του πίνακα και γράφει το γράμμα από αυτή τη θέση σε ένα κομμάτι χαρτί. Στη συνέχεια εκτελεί μία από τις ακόλουθες κινήσεις κάποιες φορές φορές:

  • Μετακινεί το δάχτυλο σε μια θέση που είναι, είτε μία θέση προς τα αριστερά, είτε μία θέση προς τα δεξιά της τρέχουσας θέσης, εάν αυτή η θέση υπάρχει. Επίσης, ο Fabijan θα γράψει στη συνέχεια το γράμμα από τη νέα θέση στο χαρτί, μετά το τελευταίο γράμμα.
  • Μετακινεί το δάχτυλο σε οποιαδήποτε θέση που έχει το ίδιο γράμμα με το τρέχον. Ο Fabijan δεν θα γράψει τίποτα στο χαρτί σε αυτή την περίπτωση.

Τον παίρνει |x - y| δευτερόλεπτα για να μετακινήσει το δάχτυλό του από τη θέση x στη θέση y.

Ο Fabijan θα ξεπεράσει τον φόβο του για τη λέξη, αν στο τέλος του παιχνιδιού γραφτεί η αγαπημένη του λέξη στο χαρτί. Θέλει να τελειώσει το παραμύθι το συντομότερο δυνατό, γι' αυτό σας ζητά να του πείτε τον ελάχιστο αριθμό δευτερολέπτων που θα του πάρει για να ξεπεράσει το φόβο του για τη δεδομένη τρομακτική λέξη.

Είσοδος

Η πρώτη γραμμή περιέχει ακέραιους αριθμούς n και m\;(1 \le n, m \le 300).

Η δεύτερη γραμμή περιέχει n πεζά γράμματα, δηλαδή τη λέξη που τρομάζει τον Fabijan.

Η τρίτη γραμμή περιέχει m πεζά γράμματα, την αγαπημένη λέξη του Fabijan.

Έξοδος

Εκτυπώστε τον συντομότερο δυνατό χρόνο, σε δευτερόλεπτα, που χρειάζεται ο Fabijan για να γράψει την αγαπημένη του λέξη στο χαρτί ή -1 εάν αυτό δεν είναι δυνατό.

Βαθμολογία

Σε δοκιμαστικές περιπτώσεις αξίας 20 πόντων, τα γράμματα της λέξης που τρομάζουν τον Fabijan θα είναι ξεχωριστά ανά ζεύγη.

Παραδείγματα

input

2 2
wa
ac

output

-1

input

7 7
monolog
nogolom

output

10

input

14 5
niskoobrazovan
boook

output

5
Επεξήγηση του 3ου παραδείγματος:

Ο Fabijan θα βάλει πρώτα το δάχτυλό του στη θέση 7 και θα γράψει το γράμμα 'b'. Στη συνέχεια, θα μετακινήσει το δάχτυλο δύο φορές προς τα αριστερά και κάθε φορά θα σημειώνει το γράμμα 'o'. Στο επόμενο βήμα θα μετακινήσει το δάχτυλο στη θέση 6 χρησιμοποιώντας τον δεύτερο τύπο κίνησης. Τέλος, θα μετακινήσει ξανά το δάχτυλο δύο φορές προς τα αριστερά και θα γράψει τα γράμματα 'o' και 'k'. Του πήρε πέντε δευτερόλεπτα συνολικά, ένα δευτερόλεπτο ανά κίνηση.


Comments

There are no comments at the moment.