Painel publicitário

Um painel publicitário é uma lista m * n, em que cada elemento da lista consiste em uma letra ou um espaço em branco. Você recebe uma frase e as dimensões do painel publicitário. Crie uma função que determine se é possível colocar a frase completa no painel publicitário.

Há duas regras:

  1. Se houver um espaço entre duas palavras:
    • Se elas estiverem na mesma linha, você deverá colocar um espaço.
    • Se estiverem em duas linhas diferentes, o espaço será opcional.
  2. Você só pode colocar palavras COMPLETAS em uma linha.

Para ilustrar, can_put("GOOD MORN", [2, 4]) deverá resultar em True, pois, embora haja um espaço entre "GOOD" e "MORN", ele não é necessário porque as duas palavras estão em linhas separadas.

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

Por outro lado, can_put("GOOD MORN", [1, 8]) deverá resultar em False. Como as duas palavras ficam na primeira linha, precisamos de nove posições, e oito resultariam na frase incompleta "GOOD MOR".

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

Também retornaríamos False se não fosse possível encaixar uma palavra em uma linha. Portanto, can_put("GOOD MORN", [3,3]) deverá resultar em False, pois só conseguimos encaixar "GOO" na primeira linha.

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

# No good!

Exemplos

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

Observações

Não há problema em deixar espaços vazios extras em uma linha se você não conseguir encaixar duas palavras com um espaço entre elas. Por exemplo, em um painel 5 x 5, você pode colocar "BE" na primeira linha e "HAPPY" na segunda.