Kostki literowe są powszechne w grach słownych. Na przykład zabawne może być pisownia śmiesznych słów za pomocą kostek do gry. Jeśli złapiesz garść kości, są szanse, że nie będziesz w stanie przeliterować niektórych słów. To wyzwanie jest uogólnieniem tego pomysłu.
Wyzwanie
Biorąc pod uwagę listę kości, z których każda ma co najmniej 1 twarz i słowo, Twoim zadaniem jest ustalenie, czy możliwe jest przeliterowanie tego słowa za pomocą danej kości (w takim przypadku powinien on zwrócić prawdziwy wynik). Można użyć tylko jednej litery z każdej kości, a kości można użyć tylko raz. Nie musisz używać wszystkich podanych kości.
Przykłady
W trywialnym przykładzie z kostkami [[A], [C], [T]] i ciągiem CAT wynik jest prawdziwy. BAT oczywiście zwróciłoby wartość false, ponieważ nie ma na nich kości z literą B.
Jeśli podano [[A, E, I, O, U], [A, B, C, T], [N, P, R]] jako zestaw kostek, zwróciłbyś wartość true dla ART, TON i CUR , ale fałsz dla CAT, EAT i PAN, ponieważ te łańcuchy wymagają ponownego użycia kości. Powinno być również dość oczywiste, że CRAB nie może zostać przeliterowany za pomocą tych kości, ponieważ nie ma wystarczającej liczby kości.
Jeśli podano [[A, B, C], [A, E, I], [E, O, U], [L, N, R, S, T]] jako zestaw kości, byłbyś w stanie przeliteruj CAT, BEE, BEAN, TEA, BEET i BAN, ale nie będziesz w stanie przeliterować LONE, CAB, BAIL, TAIL, BAA lub TON
Mogą istnieć wielokrotności tej samej kości. Jeśli podano [[A, B, C], [A, B, C], [A, B, C]], byłbyś w stanie przeliterować CAB, BAA, AAA itp., Ale oczywiście nic bez A, B lub C.
Zasady
- Brak wykorzystania standardowych luk
- To jest golf golfowy , więc wygrywa najkrótszy kod.
- Możesz założyć, że zarówno słowa, jak i kości składają się wyłącznie z wielkich liter.
- Możesz założyć, że słowo zawsze będzie miało co najmniej 1 literę i że zawsze będzie co najmniej 1 kostka.
- Możesz założyć, że kostka nigdy nie będzie miała więcej niż jednej litery.
- Dane wejściowe i wyjściowe mogą być w dowolnym dogodnym formacie.