Asientos del concierto

Crea un método que determine si todos los asientos pueden «ver» el frente del escenario. Las filas están ordenadas desde la parte delantera del escenario hacia la parte trasera. Un asiento solo puede ver 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:

// FRENTE DEL ESCENARIO
new int[][]
{
  { 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 pueden ver.
// En otra columna, 6 > 5 > 4 > 2, y así sucesivamente.

No todos pueden ver en esta disposición:

// FRENTE DEL ESCENARIO
new int[][]
{
  { 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 solo si todos los asientos pueden ver el escenario. Devuelve false si hay al menos una vista bloqueada.

Ejemplos

Program.canSeeStage(new int[][]
{
  { 1, 2, 3 },
  { 4, 5, 6 },
  { 7, 8, 9 }
}) ➞ true

Program.canSeeStage(new int[][]
{
  { 0, 0, 0 },
  { 1, 1, 1 },
  { 2, 2, 2 }
}) ➞ true

Program.canSeeStage(new int[][]
{
  { 2, 0, 0 },
  { 1, 1, 1 },
  { 2, 2, 2 }
}) ➞ false

Program.canSeeStage(new int[][]
{
  { 1, 0, 0 },
  { 1, 1, 1 },
  { 2, 2, 2 }
}) ➞ false

Notas

  • Las alturas deben aumentar de forma 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.