CCO-12 (2012) - 4 (Editor Distance)

View as PDF

Submit solution

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

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Editor Distance

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

Το πρόγραμμα επεξεργασίας σας έχει τα ακόλουθα χαρακτηριστικά:

  • μπορείτε να μετακινήσετε τον κέρσορα χρησιμοποιώντας τα πλήκτρα κατεύθυνσης: επάνω (\uparrow), κάτω (\downarrow) , αριστερά (\leftarrow) ή δεξιά (\rightarrow)

  • Πατώντας \rightarrow θα μετακινηθεί ο κέρσορας έναν χαρακτήρα προς τα δεξιά. Eάν ο κέρσορας βρίσκεται στον πιο δεξιά χαρακτήρα μιας γραμμής, ο κέρσορας θα μετακινηθεί στον πρώτο χαρακτήρα της επόμενης γραμμής κάτω από την τρέχουσα γραμμή. (ο κέρσορας δεν θα μετακινηθεί αν βρίσκεται στην κάτω δεξιά θέση)

  • Πατώντας \leftarrow θα μετακινηθεί ο κέρσορας έναν χαρακτήρα προς τα αριστερά. Eάν ο κέρσορας βρίσκεται στον πιο αριστερά χαρακτήρα μιας γραμμής, ο κέρσορας θα μετακινηθεί στον τελευταίο χαρακτήρα της προηγούμενης γραμμής πάνω από την τρέχουσα γραμμή (ο κέρσορας δεν θα μετακινηθεί αν βρίσκεται στην επάνω αριστερή θέση)

  • Πατώντας το \(\θπαρρος\) θα μετακινηθεί ο κέρσορας στον χαρακτήρα ακριβώς από πάνω του. Αν δεν υπάρχει χαρακτήρας αμέσως πάνω από τον κέρσορα, θα μετακινηθεί στον τελευταίο χαρακτήρα της προηγούμενης γραμμής παραπάνω από την τρέχουσα γραμμή (ο κέρσορας δεν θα μετακινηθεί αν βρίσκεται στην πρώτη γραμμή)

  • Πατώντας \downarrow θα μετακινηθεί ο κέρσορας στον χαρακτήρα ακριβώς κάτω από αυτόν. Aν δεν υπάρχει χαρακτήρας αμέσως κάτω από τον κέρσορα, θα μετακινηθεί στον τελευταίο χαρακτήρα της επόμενης γραμμής κάτω από την τρέχουσα γραμμή (ο κέρσορας δεν θα μετακινηθεί αν βρίσκεται στην τελευταία γραμμή)

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

Είσοδος

Η πρώτη γραμμή της εισόδου είναι το N, ο αριθμός των γραμμών στο πρόγραμμά σας (1 \le N \le 100\,000). Οι επόμενες N γραμμές περιέχουν τον αριθμό των χαρακτήρων σε κάθε γραμμή: μπορείτε να υποθέσετε ότι υπάρχει τουλάχιστον ένας χαρακτήρας ανά γραμμή και το πολύ 80 χαρακτήρες ανά γραμμή. Η επόμενη γραμμή περιέχει δύο ακέραιους R_S C_S, που υποδεικνύουν την αρχική γραμμή και στήλη του κέρσορα (1 \le R_S \le N, 1 \le C_S και το C_S είναι το πολύ ο αριθμός των χαρακτήρων στη σειρά R_S). Η τελευταία γραμμή περιέχει δύο ακέραιους R_F C_F, που υποδεικνύουν την τελική σειρά και στήλη του κέρσορα (1 \le R_F \le N, 1 \le C_F και το C_F είναι το πολύ ο αριθμός των χαρακτήρων στη σειρά R_F).

Έξοδος

Εκτυπώστε τον ελάχιστο αριθμό από πατήματα κουμπιών που απαιτούνται για να μετακινηθεί ο κέρσορας από τη σειρά R_S και στήλη C_S στη σειρά R_F και στήλη C_F.

Παράδειγμα

input

4
40
10
4
80
4 78
1 35

output

10

Comments

There are no comments at the moment.