Canadian Computing Competition: 2012 Stage 2, Day 2, Problem 1
You are using an editor to type in a program that you hope solves another problem on this contest. Instead of thinking about solving this problem, you look at your editor and start to think of how to edit your program more quickly.
Your editor has the following characteristics:
- you can move your cursor using the direction keys: up (), down (), left () or right ()
- pressing will move the cursor one character to the right; if the cursor is on the rightmost character of a line, the cursor will move to the first character of the next line below the current line; (the cursor will not move if it is in the bottom-right position)
- pressing will move the cursor one character to the left; if the cursor is on the leftmost character of a line, the cursor will move to the last character of the previous line above the current line; (the cursor will not move if it is in the top-left position)
- pressing will move the cursor to the character immediately above it; if there is no character immediately above the cursor, it will move to the last character of the previous line above the current line; (the cursor will not move if it is on the first line)
- pressing will move the cursor to the character immediately below it; if there is no character immediately below the cursor, it will move to the last character of the next line below the current line; (the cursor will not move if it is on the last line)
You would like to find the least number of key presses that will cause you to move between positions in your editor in a given program which you are editing.
Input Specification
The first line of input is , the number of lines of your program (). The next lines contain the number of characters on each line: you can assume there is at least one character per line, and at most 80 characters per line. The next line contains two integers , indicating the starting row and column of the cursor (, , and is at most the number of characters in row ). The last line contains two integers , indicating the finishing row and column of the cursor (, , and is at most the number of characters in row ).
Output Specification
Output the minimum number of key presses that are required to move the cursor from row and column to row and column .
Sample Input
4
40
10
4
80
4 78
1 35
Output for Sample Input
10
Comments