Letter dadu adalah hal biasa di permainan kata. Misalnya, bisa mengeja kata-kata lucu dengan boggle dadu. Jika Anda meraih beberapa dadu, kemungkinan Anda tidak akan bisa mengeja kata-kata tertentu. Tantangan ini adalah generalisasi dari gagasan itu.
Tantangan
Diberikan daftar dadu yang masing-masing memiliki setidaknya 1 wajah dan sebuah kata, tugas Anda adalah untuk menentukan apakah mungkin untuk mengeja kata itu menggunakan dadu yang diberikan (dalam hal ini, itu harus mengembalikan hasil yang benar). Hanya satu huruf dari setiap dadu dapat digunakan dan dadu hanya dapat digunakan satu kali. Anda tidak perlu menggunakan semua dadu yang diberikan.
Contohnya
Dalam contoh sepele, dengan dadu [[A], [C], [T]] dan string CAT, hasilnya benar. BAT akan, tentu saja, mengembalikan false karena tidak ada dadu dengan B pada mereka
Jika diberikan [[A, E, I, O, U], [A, B, C, T], [N, P, R]] sebagai set dadu, Anda akan mengembalikan true untuk ART, TON, dan CUR , tetapi salah untuk CAT, EAT, dan PAN karena string tersebut membutuhkan dadu yang digunakan kembali. Seharusnya juga cukup jelas bahwa CRAB tidak dapat dieja dengan dadu ini karena tidak ada cukup dadu.
Jika diberikan [[A, B, C], [A, E, I], [E, O, U], [L, N, R, S, T]] sebagai himpunan dadu, Anda dapat mengeja CAT, BEE, BEAN, TEH, BEET, dan BAN, tetapi Anda tidak akan bisa mengeja LONE, CAB, BAIL, TAIL, BAA, atau TON
Mungkin ada kelipatan dari dadu yang sama. Jika diberikan [[A, B, C], [A, B, C], [A, B, C]], Anda akan dapat mengeja CAB, BAA, AAA, dll ... tapi jelas tidak ada yang tanpa A, B, atau C di dalamnya.
Aturan
- Tidak mengeksploitasi celah standar
- Ini kode-golf , jadi kode terpendek menang.
- Anda dapat berasumsi bahwa kata dan dadu hanya terdiri dari huruf kapital.
- Anda mungkin berasumsi bahwa kata itu akan selalu setidaknya 1 huruf dan bahwa akan selalu ada setidaknya 1 mati.
- Anda mungkin berasumsi bahwa dadu tidak akan pernah memiliki lebih dari satu surat yang sama.
- Input dan output mungkin dalam format apa pun yang nyaman.