Asientos del concierto

Crea una función que determine si todos los asientos pueden "ver" el escenario. Las filas están ordenadas desde la parte delantera del escenario hacia la parte trasera. Un asiento solo tiene visibilidad cuando su altura es estrictamente mayor que la del asiento situado justo delante de él en la misma columna.

Todos pueden ver el escenario en esta disposición:

// ESCENARIO
[
  [1, 2, 3, 2, 1, 1],
  [2, 4, 4, 3, 2, 2],
  [5, 5, 5, 5, 4, 4],
  [6, 6, 7, 6, 5, 5]
]

// En la primera columna, 6 > 5 > 2 > 1, por lo que todos los asientos tienen visibilidad.
// En otra columna, 6 > 5 > 4 > 2, y así sucesivamente.

No todos pueden ver el escenario en esta disposición:

// ESCENARIO
[
  [1, 2, 3, 2, 1, 1],
  [2, 4, 4, 3, 2, 2],
  [5, 5, 5, 10, 4, 4],
  [6, 6, 7, 6, 5, 5]
]

// La altura 10 está justo delante de 6 y bloquea su vista.

Devuelve true únicamente si todos los asientos pueden ver el escenario. Devuelve false si hay al menos una vista bloqueada.

Ejemplos

can_see_stage([
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]) ➞ true

can_see_stage([
  [0, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ true

can_see_stage([
  [2, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ false

can_see_stage([
  [1, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ false

Notas

  • Las alturas deben aumentar de manera estricta desde cada asiento delantero hasta el asiento situado justo detrás de él; las alturas iguales bloquean la vista.
  • Todas las alturas son números enteros mayores o iguales a cero.