Water stored in the Platform

There is a partially constructed platform floating in space which is made of cubes. The
platform can be represented by 2D array with each element representing number of
cubes in respective position.
The way the platform is piled up, is given by an n x m matrix, where each element says
how many cubes are stacked upward in that position. You have to write a function for
calculating the quantity of water which will be stored in that construction if we pour
unlimited supply of water on top of it. Since the platform is suspended in space, if an
element has 0 as one of the elements, it will represent a drain. Use Numpy to solve the
problem.
def WaterStoredInPlatform(platform):
Example I:
[2 . 2 . 2]
[2 . 2 . 2]
[2 . 2 . 2]
Indicates a cuboid of 3x3 area units, which cannot retain any amount of water (0 units of
water retained).
Example II:
A 4x3 matrix like the following
[2 . 2 . 2 . 2]
[2 . 1 . 2 . 1]
[2 . 2 . 2 . 1]
The 1 area in the middle stores 1 unit of water. The 1 area on the sides will retain no water
as the water will spill out. Hence this structure will hold 1 unit of water II.
Example III:
A 6x4 matrix like the following
[3 . 3 . 3 . 3 . 3 . 3]
[3 . 1 . 2 . 3 . 1 . 3]
[3 . 1 . 2 . 3 . 1 . 3]
[3 . 3 . 3 . 1 . 3 . 3]
Can be represented as the 3D view shown. The second
column stores 4 units, the third column stores 2 units and
the fifth column stores 4 units of water. This matrix stores
10 units of water in total.
Example IV:
A 6x4 matrix like the following
[3 . 3 . 3 . 3 . 5 . 3]
[3 . 0 . 2 . 3 . 1 . 3]
[3 . 1 . 2 . 3 . 1 . 3]
[3 . 3 . 3 . 1 . 3 . 3]
Can be represented as the 3D shown. This matrix
resembles the example as the previous example. However,
one of the elements on the second column has a 0
element. Since the structure is floating in space, the water
poured would be drained out from this element.
Hence the structure won’t be able to store any units of water
on either the second or third columns. The only column water can be stores in is the fifth
column which holds 4 units of water. Therefore this matrix holds 4 units of water in total.
Example V:
A 5x5 matrix as the following
[ 5 . 5 . 5 . 5 . 5]
[ 9 . 1 . 1 . 1 . 5]
[ 5 . 1 . 5 . 1 . 5]
[ 5 . 1 . 1 . 1 . 5]
[ 5 . 5 . 5 . 5 . 5]
Will hold 32 units of water in total, as the second column will hold 12 units, the third
column will told 8 units and the fourth column will hold 12 units, which adds up to 32
units in total.

1 Like