Problem Statement
You are given two
Return the crossword as a
Definition
- Class:
- SimplestCrossword
- Method:
- construct
- Parameters:
- String, String
- Returns:
- String[]
- Method signature:
- String[] construct(String H, String V)
- (be sure your method is public)
Constraints
- H will contain between 2 and 10 characters, inclusive.
- V will contain between 2 and 10 characters, inclusive.
- Each character in H and V will be an uppercase English letter ('A'-'Z').
Examples
"TOP"
"CODER"
Returns: {".C.", "TOP", ".D.", ".E.", ".R." }
This is what the return value looks like when formatted into a rectangle: {".C.", "TOP", ".D.", ".E.", ".R." } This return value describes the following crossword: .C. TOP .D. .E. .R. In this particular test case, this is the only valid solution.
"CODER"
"TOP"
Returns: {".T...", "CODER", ".P..." }
Here we swapped the two words, so now CODER should go horizontally. The returned crossword looks as follows: .T... CODER .P...
"AAAAA"
"AAAAAA"
Returns: {"...A.", "...A.", "...A.", "AAAAA", "...A.", "...A." }
Returned crossword: ...A. ...A. ...A. AAAAA ...A. ...A. In this case there are 29 other valid crosswords, and each of those would be accepted as well.
"CAT"
"DOG"
Returns: { }
We cannot make these two words overlap.
"FZUHE"
"DYVBX"
Returns: { }
"IVNYPWE"
"JUFCA"
Returns: { }
"OYCMBZFK"
"GWESAVQUI"
Returns: { }
"KB"
"LDMQW"
Returns: { }
"CK"
"HXOAQT"
Returns: { }
"MUZYKHLJDS"
"XIRNTC"
Returns: { }
"DU"
"JQNMOZVF"
Returns: { }
"GY"
"OUMIFE"
Returns: { }
"IOAFHWUE"
"TBNVKXG"
Returns: { }
"CPXQDYWAF"
"VOEKNHRJGT"
Returns: { }
"BHSZRQLA"
"SE"
Returns: {"BHSZRQLA", "..E....." }
"WQXDKYSR"
"UZQGIVLE"
Returns: {".U......", ".Z......", "WQXDKYSR", ".G......", ".I......", ".V......", ".L......", ".E......" }
"XERZAWI"
"ZH"
Returns: {"XERZAWI", "...H..." }
"SFM"
"PSKOANV"
Returns: {"P..", "SFM", "K..", "O..", "A..", "N..", "V.." }
"KBINA"
"OLYUMBRGJP"
Returns: {".O...", ".L...", ".Y...", ".U...", ".M...", "KBINA", ".R...", ".G...", ".J...", ".P..." }
"TEF"
"JEI"
Returns: {".J.", "TEF", ".I." }
"EMLCGY"
"YW"
Returns: {"EMLCGY", ".....W" }
"NAHFSZDPW"
"QKJST"
Returns: {"....Q....", "....K....", "....J....", "NAHFSZDPW", "....T...." }
"JF"
"YJD"
Returns: {"Y.", "JF", "D." }
"VW"
"CJHQUEVXAF"
Returns: {"C.", "J.", "H.", "Q.", "U.", "E.", "VW", "X.", "A.", "F." }
"XTSKPHD"
"VHN"
Returns: {".....V.", "XTSKPHD", ".....N." }
"QOR"
"RD"
Returns: {"QOR", "..D" }
"FRTMNKBOW"
"VPYHLINJU"
Returns: {"....V....", "....P....", "....Y....", "....H....", "....L....", "....I....", "FRTMNKBOW", "....J....", "....U...." }
"JS"
"CZWDBSV"
Returns: {".C", ".Z", ".W", ".D", ".B", "JS", ".V" }
"WQJU"
"HJMODYGTRX"
Returns: {"..H.", "WQJU", "..M.", "..O.", "..D.", "..Y.", "..G.", "..T.", "..R.", "..X." }
"ILBMON"
"UDL"
Returns: {".U....", ".D....", "ILBMON" }
"OJPACY"
"HPERZKFWB"
Returns: {"..H...", "OJPACY", "..E...", "..R...", "..Z...", "..K...", "..F...", "..W...", "..B..." }
"CRZQAX"
"LQOHN"
Returns: {"...L..", "CRZQAX", "...O..", "...H..", "...N.." }
"YPKSE"
"AK"
Returns: {"..A..", "YPKSE" }
"LKNR"
"KTJGF"
Returns: {"LKNR", ".T..", ".J..", ".G..", ".F.." }
"PBOEDS"
"ZHS"
Returns: {".....Z", ".....H", "PBOEDS" }
"ZA"
"YROBAT"
Returns: {".Y", ".R", ".O", ".B", "ZA", ".T" }
"FRPZ"
"LXRT"
Returns: {".L..", ".X..", "FRPZ", ".T.." }
"WLNJHXC"
"UCA"
Returns: {"......U", "WLNJHXC", "......A" }
"VPH"
"GWTAVR"
Returns: {"G..", "W..", "T..", "A..", "VPH", "R.." }
"FXOAQCB"
"GNDUA"
Returns: {"...G...", "...N...", "...D...", "...U...", "FXOAQCB" }
"SXPWDLURN"
"OHQADE"
Returns: {"....O....", "....H....", "....Q....", "....A....", "SXPWDLURN", "....E...." }
"DUHWPSF"
"RZLDIKO"
Returns: {"R......", "Z......", "L......", "DUHWPSF", "I......", "K......", "O......" }
"PUFXWOMQB"
"LDYSWG"
Returns: {"....L....", "....D....", "....Y....", "....S....", "PUFXWOMQB", "....G...." }
"KWVSYU"
"XCOWTN"
Returns: {".X....", ".C....", ".O....", "KWVSYU", ".T....", ".N...." }
"GRTAWZMX"
"NRL"
Returns: {".N......", "GRTAWZMX", ".L......" }
"NVOUQ"
"CU"
Returns: {"...C.", "NVOUQ" }
"VJ"
"OSFVU"
Returns: {"O.", "S.", "F.", "VJ", "U." }
"DHGXZQ"
"UTGY"
Returns: {"..U...", "..T...", "DHGXZQ", "..Y..." }
"NTAUKFJQI"
"PKOGCWXBLV"
Returns: {"....P....", "NTAUKFJQI", "....O....", "....G....", "....C....", "....W....", "....X....", "....B....", "....L....", "....V...." }
"EGZHBJS"
"BW"
Returns: {"EGZHBJS", "....W.." }
"EMFV"
"AIODJV"
Returns: {"...A", "...I", "...O", "...D", "...J", "EMFV" }
"IWYUTEGOK"
"HDZLJW"
Returns: {".H.......", ".D.......", ".Z.......", ".L.......", ".J.......", "IWYUTEGOK" }
"NWJK"
"BUMGK"
Returns: {"...B", "...U", "...M", "...G", "NWJK" }
"QWANZCVK"
"FOCSMILE"
Returns: {".....F..", ".....O..", "QWANZCVK", ".....S..", ".....M..", ".....I..", ".....L..", ".....E.." }
"ZJJH"
"IJIL"
Returns: {".I..", "ZJJH", ".I..", ".L.." }
"FBFBTFTTTF"
"BFTB"
Returns: {"FBFBTFTTTF", ".F........", ".T........", ".B........" }
"XXXXXXX"
"XX"
Returns: {"XXXXXXX", "X......" }
"ZGGGGGZZZ"
"GGGZGGZZ"
Returns: {"ZGGGGGZZZ", ".G.......", ".G.......", ".Z.......", ".G.......", ".G.......", ".Z.......", ".Z......." }
"BRBYYRV"
"JJJYRYY"
Returns: {"...J...", "...J...", "...J...", "BRBYYRV", "...R...", "...Y...", "...Y..." }
"HTFFSTHFT"
"HST"
Returns: {"HTFFSTHFT", "S........", "T........" }
"YE"
"UU"
Returns: { }
"DZDUDTLZB"
"STBUM"
Returns: {".....S...", "DZDUDTLZB", ".....B...", ".....U...", ".....M..." }
"ESENQ"
"QENSS"
Returns: {"ESENQ", "....E", "....N", "....S", "....S" }
"EDHMD"
"RVMMV"
Returns: {"...R.", "...V.", "EDHMD", "...M.", "...V." }
"FFFFFDFDDF"
"FDFFFFDFFF"
Returns: {"FFFFFDFDDF", "D.........", "F.........", "F.........", "F.........", "F.........", "D.........", "F.........", "F.........", "F........." }
"LCJJSCS"
"LJCKCLKL"
Returns: {"LCJJSCS", "J......", "C......", "K......", "C......", "L......", "K......", "L......" }
"AMAHHHJHJA"
"JH"
Returns: {"AMAHHHJHJA", "......H..." }
"LEUNUEVHUU"
"UV"
Returns: {"LEUNUEVHUU", "..V......." }
"YFZVZ"
"FZXXXX"
Returns: {"YFZVZ", ".Z...", ".X...", ".X...", ".X...", ".X..." }
"HHHHH"
"HHH"
Returns: {"HHHHH", "H....", "H...." }
"OALALGWOO"
"AGWL"
Returns: {"OALALGWOO", ".G.......", ".W.......", ".L......." }
"HA"
"AXKL"
Returns: {"HA", ".X", ".K", ".L" }
"FFHHHHHCKD"
"DDCFHHKFF"
Returns: {"FFHHHHHCKD", ".........D", ".........C", ".........F", ".........H", ".........H", ".........K", ".........F", ".........F" }
"YHWNRY"
"RIUIHYIY"
Returns: {"YHWNRY", "....I.", "....U.", "....I.", "....H.", "....Y.", "....I.", "....Y." }
"DKDZ"
"KDFKXN"
Returns: {"DKDZ", ".D..", ".F..", ".K..", ".X..", ".N.." }
"OGGGOZQQ"
"ZOZOZG"
Returns: {"OGGGOZQQ", ".....O..", ".....Z..", ".....O..", ".....Z..", ".....G.." }
"PCLCJJ"
"HPQHSQP"
Returns: {"H.....", "PCLCJJ", "Q.....", "H.....", "S.....", "Q.....", "P....." }
"CMCCFOU"
"URMUF"
Returns: {"CMCCFOU", "......R", "......M", "......U", "......F" }
"VEUBTUBBBE"
"TV"
Returns: {"VEUBTUBBBE", "....V....." }
"OAANRRASNR"
"TYSARSSS"
Returns: {".......T..", ".......Y..", "OAANRRASNR", ".......A..", ".......R..", ".......S..", ".......S..", ".......S.." }
"FTPFPCQT"
"TPFTLLPTL"
Returns: {"FTPFPCQT", ".P......", ".F......", ".T......", ".L......", ".L......", ".P......", ".T......", ".L......" }
"JXIJJCZXX"
"JXM"
Returns: {"JXIJJCZXX", "X........", "M........" }
"DVRDG"
"PPG"
Returns: {"....P", "....P", "DVRDG" }
"JJRRHXGR"
"GIJGIFGF"
Returns: {"JJRRHXGR", "......I.", "......J.", "......G.", "......I.", "......F.", "......G.", "......F." }
"AJEEIS"
"ESEIAEDJIQ"
Returns: {"AJEEIS", "..S...", "..E...", "..I...", "..A...", "..E...", "..D...", "..J...", "..I...", "..Q..." }
"CHICCCHC"
"ICIHCIC"
Returns: {"CHICCCHC", "..C.....", "..I.....", "..H.....", "..C.....", "..I.....", "..C....." }
"TVB"
"OKO"
Returns: { }
"QXJWQYQ"
"XQJYXXXY"
Returns: {"QXJWQYQ", ".Q.....", ".J.....", ".Y.....", ".X.....", ".X.....", ".X.....", ".Y....." }
"YYBMT"
"YYMBPBBYBM"
Returns: {"YYBMT", "Y....", "M....", "B....", "P....", "B....", "B....", "Y....", "B....", "M...." }
"JPPATQTPT"
"TUAQMAA"
Returns: {"JPPATQTPT", "....U....", "....A....", "....Q....", "....M....", "....A....", "....A...." }
"DDDDDDDDDD"
"DDDDDD"
Returns: {"DDDDDDDDDD", "D.........", "D.........", "D.........", "D.........", "D........." }
"IFF"
"KZNNINKNNK"
Returns: {"K..", "Z..", "N..", "N..", "IFF", "N..", "K..", "N..", "N..", "K.." }
"CCCCCCCCCC"
"CCCCCCCCCC"
Returns: {"CCCCCCCCCC", "C.........", "C.........", "C.........", "C.........", "C.........", "C.........", "C.........", "C.........", "C........." }
"GG"
"GGGGGGG"
Returns: {"GG", "G.", "G.", "G.", "G.", "G.", "G." }
"ABC"
"DA"
Returns: {"D..", "ABC" }
"HORNU"
"FU"
Returns: {"....F", "HORNU" }