Assentos do cinema

Published by Helen Yu in

Um grupo de n amigos vai assistir a um filme. Eles gostariam de encontrar um lugar onde possam se sentar juntos na mesma fileira. A disposição dos assentos de um cinema pode ser representada como uma matriz 2-D, em que 0 representa assentos vazios e 1 representa assentos 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]]

Crie uma função que, dada uma disposição de assentos e o número de amigos n, retorne a quantidade de lugares disponíveis para que todos os n amigos se sentem juntos. No exemplo acima, se n = 3, haveria 2 lugares (a primeira fileira e a última fileira).

Exemplos

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

Observações

Várias configurações livres que se sobrepõem ainda contam como configurações distintas (consulte o exemplo #2).