Given side of a square n and two points (x1, y1) and (x2, y2) on the boundaries of the given square. The task is to find the shortest path through the square sides between these two points where the corner coordinates of the square are are (0, 0), (n, 0), (0, n) and (n, n) .
Input: n = 2, x1 = 0, y1 = 0, x2 = 1, y2 = 0
Input: n = 26, x1 = 21, y1 = 0, x2 = 26, y2 = 14
- If both the x and y coordinates of a point is greater than the other and the points are not on opposite sides of square then the shortest distance will be abs(x2 – x1) + abs(y2 – y1).
- Else, the shortest distance will be equal to min((x1 + y1 + x2 + y2), (4 * n) – (x1 + y1 + x2 + y2))
Below is the implementation of the above approach:
- Multistage Graph (Shortest Path)
- Shortest Path using Meet In The Middle
- Multi Source Shortest Path in Unweighted Graph
- Check if a number is perfect square without finding square root
- Shortest distance between a Line and a Point in a 3-D plane
- Find the shortest distance between any pair of two different good nodes
- Minimum Sum Path in a Triangle
- Path in a Rectangle with Circles
- Nth non-Square number
- Print the path between any two nodes of a tree | DFS
- Largest square that can be inscribed in a semicircle
- Program for Area Of Square after N-th fold
- Smallest square formed with given rectangles
- Sum of Area of all possible square inside a rectangle
- Fast inverse square root
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.