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
- 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
- Biggest Reuleaux Triangle within A Square
- Largest hexagon that can be inscribed within a square
- Program for Area Of Square after N-th fold
- Check if given number is perfect square
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.