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:
- Shortest Path using Meet In The Middle
- Multistage Graph (Shortest Path)
- 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
- Path in a Rectangle with Circles
- Minimum Sum Path in a Triangle
- Print the path between any two nodes of a tree | DFS
- Nth non-Square number
- Source to destination in 2-D path with fixed sized jumps
- Largest hexagon that can be inscribed within a square
- Check if given number is perfect square
- Biggest Reuleaux Triangle within A Square
- 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 firstname.lastname@example.org. 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.