Los dados de letras son comunes en los juegos de palabras. Puede ser divertido intentar deletrear palabras divertidas con dados de boggle, por ejemplo. Si agarras un puñado de dados, es probable que no puedas deletrear ciertas palabras. Este desafío es una generalización de esa idea.
Desafío
Dada una lista de dados que tienen al menos 1 cara y una palabra, su tarea es determinar si es posible deletrear esa palabra usando los dados dados (en cuyo caso, debería devolver un resultado verdadero). Solo se puede usar una letra de cada dado y un dado solo se puede usar una vez. No necesitas usar todos los dados dados.
Ejemplos
En un ejemplo trivial, con los dados [[A], [C], [T]] y la cadena CAT, el resultado es verdadero. BAT, por supuesto, devolvería falso ya que no hay dados con B en ellos
Si se le da [[A, E, I, O, U], [A, B, C, T], [N, P, R]] como el conjunto de dados, volvería verdadero para ART, TON y CUR , pero falso para CAT, EAT y PAN porque esas cadenas requieren reutilizar dados. También debería ser bastante obvio que CRAB no se puede deletrear con estos dados ya que no hay suficientes dados.
Si se le da [[A, B, C], [A, E, I], [E, O, U], [L, N, R, S, T]] como el conjunto de dados, usted podría deletrea CAT, BEE, BEAN, TEA, BEET y BAN, pero no podrás deletrear LONE, CAB, BAIL, TAIL, BAA o TON
Puede haber múltiplos del mismo dado. Si se le da [[A, B, C], [A, B, C], [A, B, C]], podría deletrear CAB, BAA, AAA, etc. pero obviamente nada sin A, B o C en ella.
Reglas
- No explotar las lagunas estándar
- Este es el código de golf , por lo que gana el código más corto.
- Puede suponer que tanto las palabras como los dados solo estarán formados por mayúsculas.
- Puede suponer que la palabra siempre tendrá al menos 1 letra y que siempre habrá al menos 1 dado.
- Puede suponer que un dado nunca tendrá más de una letra.
- La entrada y salida pueden estar en cualquier formato conveniente.