Cartel publicitario

Un cartel publicitario es una lista m * n, donde cada elemento de la lista consiste en una letra o un espacio en blanco. Se te da una frase y las dimensiones del cartel publicitario. Crea una función que determine si puedes colocar la frase completa en el cartel publicitario.

Hay dos reglas:

  1. Si hay un espacio entre dos palabras:
    • Si están en la misma fila, debes poner un espacio.
    • Si están en dos filas diferentes, el espacio es opcional.
  2. Solo puedes colocar palabras COMPLETAS en una fila.

Para ilustrarlo, can_put("GOOD MORN", [2, 4]) debería devolver True, ya que, aunque hay un espacio entre "GOOD" y "MORN", no es necesario porque ambas palabras están en filas separadas.

[
  ["G", "O", "O", "D"],
  ["M", "O", "R", "N"]
]

Por otro lado, can_put("GOOD MORN", [1, 8]) debería devolver False. Como ambas palabras están en la primera fila, necesitamos nueve espacios, y ocho producirían la frase incompleta "GOOD MOR".

[
  ["G", "O", "O", "D", "_", "M", "O", "R"]
]

También devolveríamos False si no pudiéramos colocar una palabra en una fila. Por lo tanto, can_put("GOOD MORN", [3,3]) debería devolver False, ya que solo podemos colocar "GOO" en la primera fila.

[
  ["G", "O", "O"],
  ["D", "_", "M"],
  ["O", "R", "N"]
]

# No good!

Ejemplos

can_put("HEY JUDE", [2, 4]) ➞ True

can_put("HEY JUDE", [1, 8]) ➞ True

can_put("HEY JUDE", [1, 7]) ➞ False

can_put("HEY JUDE", [4, 3]) ➞ False

Notas

Está bien dejar espacios vacíos adicionales en una fila si no puedes colocar dos palabras con un espacio entre ellas. Por ejemplo, en un cartel publicitario de 5 x 5, puedes colocar "BE" en la primera fila y "HAPPY" en la segunda.