Asientos de cine

Published by Helen Yu in

Un grupo de n amigos va a ver una película. Les gustaría encontrar un lugar donde puedan sentarse juntos en la misma fila. La distribución de asientos de un cine puede representarse como una matriz 2-D, donde 0 representa los asientos vacíos y 1 representa los asientos ocupados.

[[1, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 0, 1, 0, 1],
[1, 1, 0, 1, 1, 0, 1],
[1, 0, 1, 1, 1, 1, 1],
[1, 0, 1, 1, 0, 0, 0]]

Crea una función que, dada una distribución de asientos y el número de amigos n, devuelva el número de lugares disponibles para que los n amigos se sienten juntos. En el ejemplo anterior, si n = 3, habría 2 lugares (la primera fila y la última fila).

Ejemplos

group_seats([
  [1, 0, 1, 0, 1, 0, 1],
  [0, 1, 0, 1, 0, 1, 0],
  [0, 0, 1, 1, 1, 1, 1],
  [1, 0, 1, 1, 0, 0, 1],
  [1, 1, 1, 0, 1, 0, 1],
  [0, 1, 1, 1, 1, 0, 0]
], 2) ➞ 3

group_seats([
  [1, 0, 1, 0, 1, 0, 1],
  [0, 1, 0, 0, 0, 0, 0],
], 4) ➞ 2

Notas

Varias configuraciones libres que se superponen siguen contando como configuraciones distintas (consulta el ejemplo #2).