def hike(lists: list[list[int]], start: tuple[int, int],
end: tuple[int, int]) -> int:
"""
Given an elevation map and a start and end calculate the cost it
would take to hike from to . If the start and end are the same, then return 0.
Some definitions and rules:
1. You can only hike to either a vertically or horizontally adjacent
location (you cannot travel diagonally).
2. You must only travel in the direction of the . More
explicitly, this means that any move you make MUST take you closer
to the end point, so you cannot travel in the other direction.
3. We define the cost to travel between two adjacent blocks as the
absolute difference in elevation between those blocks.
4. You will calculate the naive route here, so at every position, you
will have two choices, to either move closer to the end point along
a row, or along a column, and you will chose the position that costs
the least at that point (you do not need to look ahead to see if the
costlier route now will result in an overall cheaper route).
5. If two choices along the route have the exact same cost, you will
choose the direction that comes first clockwise. For example, you
will choose to move horizontally right before vertically down,
vertically down before horizontally left, horizontally left before
vertically up, and vertically up before horizontally right.
Preconditions:
the start and end points will be a valid position on the map.
>>> sample_map = [[1, 3],
... [0, 4]]
>>> cost_to_hike_naive(sample_map, (0, 0), (1, 1))
5
>>> cost_to_hike_naive(sample_map, (1, 1), (0, 0))
3
"""
RESTRICTIONS:
- Do not add any imports and do it on python .Do not use recursion. Do not use break/continue.Do not use try-except statements