Problem Statement
In this problem we consider strings of lowercase letters ('a'-'z').
Given is a
Definition
- Class:
- RequiredSubstrings
- Method:
- solve
- Parameters:
- String[], int, int
- Returns:
- int
- Method signature:
- int solve(String[] words, int C, int L)
- (be sure your method is public)
Constraints
- words will contain between 1 and 6 elements, inclusive.
- No two elements of words will be equal.
- Each element of words will contain between 1 and 50 characters, inclusive.
- Each character in each element of words will be a lowercase letter ('a'-'z').
- C will be between 0 and the number of elements in words, inclusive.
- L will be between 1 and 50, inclusive.
Examples
{"a","aa","aaa","aaaa"}
2
3
Returns: 50
The only valid strings are strings of the form "Xaa" or "aaX", where X is one of the letters 'b'-'z'.
{"abcdefgh"}
0
7
Returns: 31810104
This answer is (26^7 modulo 1,000,000,009).
{"abcdefgh"}
1
7
Returns: 0
A string of length 7 cannot have a substring of length 8.
{"a","b","c","d"}
3
3
Returns: 24
The 24 good strings are the strings with three distinct letters, each of them in 'a'-'d'.
{"ab","bc","xy","yz"}
2
3
Returns: 2
{"abcdef","cd"}
1
6
Returns: 2280824
{"q","w","e","r","t","y"}
0
50
Returns: 243120666
{"a"}
1
2
Returns: 51
{ "r" , "lk" , "z" , "l" , "k" , "lr" }
1
50
Returns: 359785210
{ "gbrh" , "e" , "ooc" , "yop" , "ss" , "ufj" }
1
50
Returns: 81615713
{ "cr" , "ir" , "ssrnd" , "yr" , "scnexm" , "tbodm" }
3
48
Returns: 745803426
{ "zkmbbxox" , "rfdwk" , "upynoo" , "gycspibn" , "sphbozqv" , "gqxiomzy" }
3
48
Returns: 188516160
{ "yringrpsog" , "qodkbtapgo" , "vjyshbnmd" , "sxtbpq" , "pekwug" , "uhmuia" }
1
50
Returns: 730443648
{ "fcmlgeted" , "nzagfuvmoc" , "pyaxyqumpqim" , "koxevhwezjj" , "tseutraysh" , "kybeqnig" }
2
50
Returns: 422765326
{ "lcketimhos" , "upqvkhvnsbp" , "blhutrvhvdwx" , "nfstjjbqmpvep" , "bfnovmzeqfio" , "izvpksxztskz" }
0
48
Returns: 924966983
{ "mlkgfnbwprwm" , "mcxuchwzmoblend" , "ggikabkiysxf" , "ysbmglshbsnuahit" , "nscjfhnyjkojratw" , "dxfytbpalwbadr" }
2
48
Returns: 395382076
{ "zfyurwmgbutbwmdr" , "awwsmrycubsjntq" , "ikyeoimgrrdlflaiyi" , "rvdfwopkytsxctk" , "jpeyjqkdjdqcdie" , "izssovgoywytcbgdlu" }
1
50
Returns: 291194816
{ "ypyleqgxvkjrjgiydwh" , "pkwenibfkrjmggskkivz" , "kjxdqhjlqvfklzsg" , "yuengxowqksjzjtx" , "rdsqbpllbnncjycbg" , "dqecjqydvhtmkqty" }
3
49
Returns: 8910
{ "hbylqzvcxgnrktgkey" , "qgkkfztgqqugocjzopc" , "vyhtqpfovaxzbhxtbaheo" , "argkwaqsfdrzzztocey" , "zjpeyyrldzjnomdpgcuuh" , "nyataggmdomzcqkxkby" }
0
48
Returns: 361688375
{ "hhrmaiaxasmvvyfzexpjejg" , "whonczzsurbobldwsdkcecwi" , "jrufswhwivjktwibqyrjwr" , "ydhfkhhlrafhplpwnsqfracz" , "saumrwktegmtlapuqnxv" , "qjfvbcgatdqczdjzoilcp" }
3
50
Returns: 0
{ "vnurwpdcbnsfydlvonafwuv" , "ofmxpxrvdhwjcundfprlzjmum" , "inxxembnffmogcesepeldmx" , "ukzwituxrfncpteiktcghn" , "edwqwrvfqwrzfgaiifkhsmnl" , "ulckkqgmvtvjuzmkzwwmdke" }
2
49
Returns: 42637142
{ "gtbluiigmrhpsjvqmttyutmcwiyq" , "zbkvbsnklpvozqwvfniozeaqf" , "ufnnhgwohupsxdizobnvcihyxskr" , "tjtfbddmxvwvgukelsrwpkxhodq" , "xxlkayuuzmiynnorucoqhakpnkp" , "radpynqckwxcbmuyckcqjkalfz" }
0
49
Returns: 518837045
{ "ndpdtemdwwrbfugjzsrznpylacyvch" , "otdmmufnkraxikahndajftwtvablw" , "hrwvowebvlawlzhkxoyqrjpfpgc" , "svlmucvxwbflxtoqsxykobrphxp" , "naerbwmgcbncywywebuqittwxad" , "emiuhgpfcvcuqgrkruiidgiwzzji" }
0
48
Returns: 484004692
{ "mpjrgmlwxqvqbuhdmqefllhxjkqfub" , "ctontdtwztacnomwvavznocjmzqr" , "avbhsumnwupwxrpckfbcsekeectwsx" , "jqiniihqmqxxqpdtlpwsvmfzboaxc" , "nyjfonbaafaveatvfzssfhjrxffulzdm" , "epnobldzmhdgovnfjpmvceazqvrymrf" }
3
50
Returns: 0
{ "xzridwwzafwofczobtcmvhjqfjadxpkovp" , "tkcernnegdzkrgnolfxdxfpqkvupcay" , "hajpfrtovkjfriijchcbcyctcdjwljmmd" , "mebqhnxggsdbemggyiyqujyfzqpfztk" , "qgedpzekaktmzkgelshypsdzmcmhwpmped" , "wawbcidibrtxaryhxgcqyvaxvghfoje" }
2
50
Returns: 0
{ "fjktnswcuhkavcxjckuwelzucjobmvehuftr" , "nlpbmfbkzqmujnmucyemugeouogsmjnisuh" , "qnomlhrfbyzhqmxruxdigoszwadqzddk" , "mbxnafanyayreyderinoumwwajtagpkeyw" , "xxhfqqrtjdtmrycqmkhofbwhbcxylpadfi" , "zccnuypudymiqqhjrnypuyswjiunzjoxtjwm" }
0
48
Returns: 570686630
{ "afwqrrepxzibbpffvssyvoofyiiqyeepmajzj" , "hiaqodbtjwjaaftcykweawbrcvtdokjxxbajz" , "ylyuusxrngrhhnblztypvmqqgjkoohzwhfp" , "jtbmhdrzwaplierjglpmdhnwvnnqecwkcvmpn" , "lorkerpkkonzxpvacbvakjpjgtyznesceoihkx" , "jueqiceatyruogeeqdateecpdkqzzfttctxvg" }
1
50
Returns: 616582480
{ "hckxzehamsrqojatrriencvodgzebubxsxolbzo" , "ndkowknwedieyvszekmqonectnsowahliqha" , "jrmxqtooegmloopvkipqzpaoztgprbfyrxoaniog" , "vepzzsscofbmlgsybzkzfsbsgkvpoecizgqufytx" , "uvkgszwlrcdnhbnvtxsmnrusazwniesfhcnh" , "xjawlcvapqqzdpofljjozaydqvzehcdwkjhvmk" }
0
50
Returns: 912810561
{ "bojgtweykostkeoeswimqufktblwgsqbicjsiur" , "gnrwwsfxbjpcoijiubqxkxkoxbgtkekswnlvrqfq" , "ccnejrzgudlfbidmiyoynvjqwylboujadtckrv" , "swwjypouxqfwyfhdvvtytdwqdtfrrmvtzuviwie" , "fvytqhzbezataooygfmelkodkvziaiybwciztf" , "zbuilfbskcdgtyfhdscemeyxtbmjdpkhyzvmhq" }
3
50
Returns: 0
{ "dyqxuhjjgmetayhubntneekadxpjgohznpohqjetu" , "romvnkytyvkybkflywqtcgqzyeanzvkaqqpntabxxddk" , "wgxqqdmknftmfwpdbwkxtolppfcewrvcwwwimcahvpg" , "gcbhtzqpntnzjwtwxzvnyrhzrhrywxzumxpgeimf" , "guuhdfczmzwyndgyroscnfytwjdoafnszclxlwnbds" , "gcwcmrkavzaqdajudfdgnzovkjhiojkfvgvbufax" }
1
48
Returns: 377592919
{ "kuhrxuqjfbggpzrovjycxgtmbwicjeinxjvhtgjijibcgk" , "pdgnatqujtwqpcsvvpwedvemepizcifbqqtwwisbgefgyz" , "qmrdqzhpfiptyhagonyworxxgwzmtnpmtpleutprpaqz" , "tnmwsiesuasgryhriojnrlliexcazrkhrmbwgjnvesexw" , "lkepocceblfhmscsmqhsrovcgduliqpcbdgxgonzjf" , "tjjsgjbfjzspkzirxcyxvrvrufxbdmzwztwjewbmtruhmi" }
2
50
Returns: 0
{ "wokvgjdtwewbpzpyqjigxxbzlrbixmdpxchgrikgzdke" , "eqwwohozwlfixwgclxehxepockiudwprcwghamibtrrtjeo" , "ttnjbvuktnyftmkatesjvaqyqvfgpwttoypthcsezsrcugp" , "quubjhxtkoehoblkhbjllrmwtugtsaqwocvxupeacnpf" , "jdoxemtacohzffkqowankeefshxpdwqhbnhieaafquirbijg" , "alnuhtuxqqzfvpvzxrdaaoycupiwavvovynyxtbewmau" }
0
49
Returns: 635934457
{ "auxpyqrdijixlxqsgriylmikluhptzxbuwtvffhfebqjmvca" , "dsdodzobjloejmndbsjqldaaafpcocfkfakqrbgnefyemyd" , "yfkhwfnbsqhouxxfmtsbysipdopugzllraxbquxoswrrfkziqi" , "cthzaalvxvzwtzygqmhpezhptasxqnqtawxrgeoyblocefkn" , "seniqblvvfjwbvzsqqmzpqkldljffmuocrursfiituhdhhttlk" , "kpxywidfxpxbnkefmfxqhsoxauorgdwucwlcopbwhfnztxfbvd" }
0
50
Returns: 94812097
{ "auxpyqrdijixlxqsgriylmikluhptzxbuwtvffhfebqjmvca" , "dsdodzobjloejmndbsjqldaaafpcocfkfakqrbgnefyemyd" , "yfkhwfnbsqhouxxfmtsbysipdopugzllraxbquxoswrrfkziqi" , "cthzaalvxvzwtzygqmhpezhptasxqnqtawxrgeoyblocefkn" , "seniqblvvfjwbvzsqqmzpqkldljffmuocrursfiituhdhhttlk" , "kpxywidfxpxbnkefmfxqhsoxauorgdwucwlcopbwhfnztxfbvd" }
1
50
Returns: 74363
{ "anwqqiljuxilnegl" , "xilneglubhatgdptp" , "tnhezwjigxnpanw" , "neglubha" , "neglubh" }
0
49
Returns: 237632172
{ "rlqbuv" , "lp" , "ewnlpxsuvvkmddb" , "uvg" , "dbz" }
1
49
Returns: 951441340
{ "gyoq" , "naiwsgyoqkxewe" , "yoqkxewe" , "o" , "irvmusp" }
2
50
Returns: 83105086
{ "cgjpkovcye" , "dfvfstnphmumxctbvhjwotvme" , "pkovcyemjbdfvfstnphmumxctbvhjw" , "e" , "mjbdfvfstnphm" , "otvmejd" }
2
50
Returns: 116510845
{ "iyaqad" , "rnxqgzqszviyaqad" , "oywmvqirrnxqgzqszviyaqadjmkucloamzx" , "ywmvqir" , "qirrnxqgzqszviyaqad" }
4
49
Returns: 758757679
{ "qpjulooiupv" , "g" , "v" , "grtcaqpjulooiup" , "aqpjul" , "ulooiupv" }
5
49
Returns: 298345993
{ "zesf" , "ywzes" , "wzesf" , "zfdfejrowrurgtspxnvau" , "nirtpfwscxajywzes" }
4
48
Returns: 371130735
{ "kmmiaor" , "mm" , "awizpek" , "awizpekmmiaorkt" , "iaorktocwjpid" , "wjpidnzcq" }
4
49
Returns: 355791323
{ "mifslp" , "bkd" , "l" , "dtckdg" , "tj" }
2
48
Returns: 993428212
{ "zqpa" , "jqchegl" , "zq" , "glwzqp" , "zqp" , "yjqcheglwzqpaf" }
1
50
Returns: 478351568
{ "y" , "gwpjxpahmcdbmmsm" , "krdzplqc" , "xpahmc" , "bmmsm" }
5
50
Returns: 225355076
{ "puxuixnvwvlallatsi" , "a" , "hbkabywsfdail" , "jlelzb" , "bpm" , "wvlallatsihbkabywsf" }
1
48
Returns: 110938415
{ "bxailzgbluabxzxsepbudm" , "b" , "ailzgbl" , "xse" , "bluabxzxs" , "w" }
5
48
Returns: 221053621
{ "kiewllr" , "ewllrxy" , "p" , "ewl" , "ynwpt" , "lrxynwpt" }
5
48
Returns: 480363333
{ "nxuuecvjnoulebktlambmcwczmjxb" , "np" , "t" , "ambmcwczmjxbjua" , "jxbjuautn" }
5
48
Returns: 57607270
{ "j" , "xuk" , "nnxukruejuie" , "hzaieavpxenn" , "avpxennxu" , "e" }
1
49
Returns: 881913904
{ "u" , "qnehkoi" , "bi" , "zmzbtrlbevkzmteqnehk" , "iq" , "iqxfwgbieu" }
4
50
Returns: 342190207
{ "lyvgfmooyb" , "zmbqsua" , "reoufaizmbqs" , "oybffreoufaizmbqsuabwsdckjfsu" , "suab" }
5
49
Returns: 685240461
{ "xkqqmybozmlx" , "pxkqqmybo" , "fkmcxblblztwrljdb" , "p" , "xkqqmybozmlxi" }
2
48
Returns: 507301772
{ "lztjfta" , "uilflztjftakwppezdj" , "muilflztjft" , "jyg" , "ftak" , "l" }
6
48
Returns: 175521257
{ "v" , "dzwfinvorbfldlxy" , "gdzwfinvorbfldlxy" , "ngdzwfinvorbfldlxyyfvycle" , "nvo" , "dzwfinvorbfldlx" }
1
50
Returns: 973402739
{ "zjnziusoducijujwn" , "jwn" , "wn" , "zzjnziusoducijujw" , "cijujwnhs" }
0
48
Returns: 213219100
{ "wxtvorr" , "rx" , "xwxtv" , "mefmfzrxgwrxwxtvorrpw" , "tvor" , "gwrxwxtvorrpwe" }
3
48
Returns: 343695833
{ "qk" , "oycqozblwbpgckqv" , "bb" , "o" , "ufes" }
5
48
Returns: 505593281
{ "wycwmhrykrnllg" , "omucrtrzirwkb" , "irwkb" , "rtrzirwkbwpmcwycwmh" , "c" }
4
48
Returns: 267268615
{ "mf" , "otfmh" , "tkkpbovjdntbglix" , "ubkytkkpbovjdntbglix" , "ootfm" }
4
49
Returns: 158109521
{ "y" , "qzftxqyfezsag" , "gqzftxqyfez" , "gfqdnnbgifs" , "rgfqdnnbgifszdfqgqzftxqyfez" }
5
50
Returns: 514992436
{ "jit" , "nekyhhnzt" , "ipjqgqd" , "tr" , "blnpeyrji" }
5
49
Returns: 64448813
{ "u" , "npgmovuks" , "miraacn" , "hs" , "miraac" , "k" }
0
50
Returns: 208861428
{ "di" , "xdrrhnaux" , "prkdxdrrhnauxhd" , "xdrrhnauxh" , "d" , "fdiykyprkd" }
0
48
Returns: 347608150
{ "cjgxvmitmneyhebnbnvbfz" , "e" , "g" , "bnvbfzeqnnol" , "h" }
5
50
Returns: 793890355
{ "q" , "sicvfvpp" , "haqsqlbsicvfvppbzazil" , "kcohhaqsqlbsicvfvppbzazilk" , "ppbzazilk" }
3
49
Returns: 647153575
{ "urousxpx" , "w" , "tsussmucxxwzkpurousxpxz" , "o" , "wzkpurous" , "cxxwzkp" }
3
50
Returns: 450904631
{ "lxtuafnxowqvcjtue" , "wknaud" , "towervgovdbitdpshm" , "kiffs" , "nusbwwepnhgklnau" , "vujswooaonoabwknau" }
5
49
Returns: 0
{ "vodjnhvdqdxdau" , "dxdausqot" , "nhvdqdxdausqo" , "i" , "qdxdausq" }
3
48
Returns: 283283079
{ "zsarslxsypfpowmkfkh" , "pqduuuhnmzlsykpedgrhrxnutuxeny" , "kfnsyawbvobrhpynvnr" , "igtwta" , "xatrphobvhrukjhvul" }
3
50
Returns: 500095923
{ "svbcxaqutthtkmvkgpqwy" , "brgsvbcxaquttht" , "nk" , "htkmvkgpqwyf" , "dikyyfhorywbgvlm" }
4
48
Returns: 235618265
{ "eawrbdjfuqjpjjlhiz" , "zzxoicyqlmwsfkcojnse" , "zw" , "pwggqaskyeawrbdjfuqjpjjlhizw" , "l" }
2
50
Returns: 944197276
{ "bakwpomglhymt" , "chlxpogbvjadbeiszdp" , "g" , "gbvjad" , "biayhyjmdcjey" , "auochlxpogbvjad" }
1
48
Returns: 350028571
{ "zhacguonw" , "acguonw" , "zoicaictthesy" , "wszrnxymwrx" , "uoyfvebafkwu" , "imvkvlxwkbntm" }
1
49
Returns: 316935695
{ "wrazxrmyqpoefkm" , "yhwrpufcirtafecsx" , "btivkhleoxnsn" , "hviuyainjp" , "fsuqedzmnzhviuyai" }
2
50
Returns: 271568556
{ "vkhztmeduhzyvlz" , "snygv" , "lbsrnzssnotrlq" , "vvhylnvjxeomu" , "sbugxjets" }
3
49
Returns: 34936820
{ "fpabhdqirfwifpxa" , "lwjbbtznluzgtnkhya" , "wovvfhysaaylrmdelbez" , "epguxvlqubytlrpt" , "y" }
3
50
Returns: 661017644
{ "ajogeynvnjnmqnqajdls" , "gwdymborildeyfazjeqfd" , "gzfhkjpqdcx" , "fwnfcvjenwppkfifldp" , "dwxsjlhlhkssfkdzi" }
3
49
Returns: 41346
{ "xpp" , "p" , "eprsaxub" , "ljbqzyf" , "sxwtrqvm" , "cjcrpgvdqp" }
6
49
Returns: 182108087
{ "eobmxtswh" , "yjihjnugelane" , "sxcsglgykjfduryjucq" , "fevvpwmnvyzzyjkhvtxgg" , "fwnthaltwlyfossgahsv" }
5
48
Returns: 0
{ "mrzmhimkfgfnvi" , "fppwfbiuwclc" , "fhiwsrzrt" , "kxahtvrgbx" , "mh" , "oywmonsoibyf" }
6
49
Returns: 0
{ "mqcvdmlbkigja" , "defewfkodgp" , "zodbqcipljbrcoazemfqwrw" , "emfqwrw" , "surnfvyawj" }
2
48
Returns: 181574786
{ "cxhlvzlvdaawvk" , "xvhucmibwmlxljhu" , "d" , "nxofgdyyznvstdiaf" , "wmwfewmnexphmtkua" , "uueoduaqrhvjwo" }
5
48
Returns: 0
{ "rkgxcasjqnkbssjt" , "vlyckwkuqkzgkx" , "nlxchocghaeokjn" , "dcxvtgjckysmtr" , "foksixzyitbfas" }
1
50
Returns: 817723296
{"abababbababab","abababbbabab","ababab","abababababa","ababbbbbbabab","bababbaababa"}
6
47
Returns: 917116092
{"ab","ba"}
1
50
Returns: 517547928
{"aaaab","baaaa","baaaab"}
2
6
Returns: 0
impossible
{"aaaab","baaaa","baaaab"}
2
7
Returns: 1
only one: "baaaaab"
{"a", "b", "c", "ab", "bc", "abc" }
2
50
Returns: 762189100
{"ab", "abcd", "xab", "abyx", "cd", "cabyxcdab" }
3
50
Returns: 11119541
{"axabc", "abd", "bfgbfh", "z", "aaaaa" }
3
50
Returns: 112297820
{"zyzyzyzyzyz", "zyzyzyzyzyzyzyzyzyzyzyzyzyz", "zyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzyzy", "topcoderalgorithmsingleroundmatch", "np", "complete" }
3
50
Returns: 666437996
{"aabbcc", "ddaabb", "eebbaa", "ffeebb", "ccffee", "bbccff" }
5
50
Returns: 951970479
{"aaaaaaaaaa", "aaaaaaaaaaaaaabbbbbbb", "aaaaaabbbbbb", "aaaaaaabbbbbbb", "aaaaabbbbbbb", "aaabbb" }
5
50
Returns: 373078186
{"qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb", "wertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb", "rtyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb", "tyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb", "yuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb", "uiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb" }
5
50
Returns: 51
{"ababababa", "ababababab", "abababababababababab", "ababababababababababababababab", "abababababababababababababababababababab", "ababababababababababababababababababababababababab" }
6
50
Returns: 1
{"phqghum", "eaylnlf", "dxfircv", "scxggbw", "kfnqdux", "wfnfozv" }
3
50
Returns: 326621741
{"abvldortyu", "vdkgoyd", "afhyr", "kvvfre", "sdfght", "wfreglhyr" }
5
50
Returns: 862507961
{"a", "aa", "aaa", "aaaa" }
2
3
Returns: 50
{"a", "b", "c", "d", "e", "f" }
6
50
Returns: 165945116
{"abcd", "bcd", "cd", "bc", "c" }
5
4
Returns: 1
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", "baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", "aabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }
6
50
Returns: 0
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "baaaaaaaaaaaaaaaaaaaaaaaaaaa", "caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "daaaaaaaaaaaaaaaaaaaaaaaaaa", "eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }
3
50
Returns: 774257083
{"jagfkgafkgakgfkgafkjhk", "adhfgjagjgfm", "adfhkjagf", "dgsdg", "sarwefw", "aadgfagadg" }
0
47
Returns: 515425990
{"aaaaaaaaaaaazzzzzzzzzza", "aaaaaaaaaaaaaag", "aaaaaaaaaaaazzzzzzc", "aaaaaaaak", "aaaaaaaaaaaaa", "aaaaazzzzaaaaaaaaaa" }
3
50
Returns: 430809240