DistinctStrings
SRM 810 · 2021-07-22 · by misof
Problem Statement
Help Donna pick a password!
Her password should have exactly L characters.
The letters the password may contain are given in the
Generate N mutually distinct possible passwords for Donna, so that she can pick one that appeals to her.
Return the generated passwords in a
Notes
- Any valid answer will be accepted.
- For the given constraints a valid answer always exists.
Constraints
- L will be between 3 and 10, inclusive.
- letters will have between 10 and 62 characters, inclusive.
- The characters in letters will be a subset of [a-zA-Z0-9] (i.e., letters and digits).
- All characters in letters will be mutually distinct.
- N will be between 1 and 200, inclusive.
5
"qwertyuiopasdfghjklzxcvbnm"
10
Returns: {"hello", "abcde", "wwwww", "coins", "coder", "digit", "clash", "qwert", "puppy", "kitty" }
We want 10 different password suggestions. Each must be a 5-character string of lowercase letters.
3
"ABCDE02468"
17
Returns: {"ABC", "D2E", "DDD", "AAA", "EEE", "024", "042", "204", "240", "402", "420", "4AB", "4EE", "E4E", "ED4", "868", "844" }
Here we want 17 distinct password suggestions. Each must have three characters, and each of those must be one of the first five uppercase letters or an even digit.
8
"QjFAeRUNmncJPW"
134
Returns: {"QQQQQQQQ", "jQQQQQQQ", "FQQQQQQQ", "AQQQQQQQ", "eQQQQQQQ", "RQQQQQQQ", "UQQQQQQQ", "NQQQQQQQ", "mQQQQQQQ", "nQQQQQQQ", "cQQQQQQQ", "JQQQQQQQ", "PQQQQQQQ", "WQQQQQQQ", "QjQQQQQQ", "jjQQQQQQ", "FjQQQQQQ", "AjQQQQQQ", "ejQQQQQQ", "RjQQQQQQ", "UjQQQQQQ", "NjQQQQQQ", "mjQQQQQQ", "njQQQQQQ", "cjQQQQQQ", "JjQQQQQQ", "PjQQQQQQ", "WjQQQQQQ", "QFQQQQQQ", "jFQQQQQQ", "FFQQQQQQ", "AFQQQQQQ", "eFQQQQQQ", "RFQQQQQQ", "UFQQQQQQ", "NFQQQQQQ", "mFQQQQQQ", "nFQQQQQQ", "cFQQQQQQ", "JFQQQQQQ", "PFQQQQQQ", "WFQQQQQQ", "QAQQQQQQ", "jAQQQQQQ", "FAQQQQQQ", "AAQQQQQQ", "eAQQQQQQ", "RAQQQQQQ", "UAQQQQQQ", "NAQQQQQQ", "mAQQQQQQ", "nAQQQQQQ", "cAQQQQQQ", "JAQQQQQQ", "PAQQQQQQ", "WAQQQQQQ", "QeQQQQQQ", "jeQQQQQQ", "FeQQQQQQ", "AeQQQQQQ", "eeQQQQQQ", "ReQQQQQQ", "UeQQQQQQ", "NeQQQQQQ", "meQQQQQQ", "neQQQQQQ", "ceQQQQQQ", "JeQQQQQQ", "PeQQQQQQ", "WeQQQQQQ", "QRQQQQQQ", "jRQQQQQQ", "FRQQQQQQ", "ARQQQQQQ", "eRQQQQQQ", "RRQQQQQQ", "URQQQQQQ", "NRQQQQQQ", "mRQQQQQQ", "nRQQQQQQ", "cRQQQQQQ", "JRQQQQQQ", "PRQQQQQQ", "WRQQQQQQ", "QUQQQQQQ", "jUQQQQQQ", "FUQQQQQQ", "AUQQQQQQ", "eUQQQQQQ", "RUQQQQQQ", "UUQQQQQQ", "NUQQQQQQ", "mUQQQQQQ", "nUQQQQQQ", "cUQQQQQQ", "JUQQQQQQ", "PUQQQQQQ", "WUQQQQQQ", "QNQQQQQQ", "jNQQQQQQ", "FNQQQQQQ", "ANQQQQQQ", "eNQQQQQQ", "RNQQQQQQ", "UNQQQQQQ", "NNQQQQQQ", "mNQQQQQQ", "nNQQQQQQ", "cNQQQQQQ", "JNQQQQQQ", "PNQQQQQQ", "WNQQQQQQ", "QmQQQQQQ", "jmQQQQQQ", "FmQQQQQQ", "AmQQQQQQ", "emQQQQQQ", "RmQQQQQQ", "UmQQQQQQ", "NmQQQQQQ", "mmQQQQQQ", "nmQQQQQQ", "cmQQQQQQ", "JmQQQQQQ", "PmQQQQQQ", "WmQQQQQQ", "QnQQQQQQ", "jnQQQQQQ", "FnQQQQQQ", "AnQQQQQQ", "enQQQQQQ", "RnQQQQQQ", "UnQQQQQQ", "NnQQQQQQ" }
8
"dfASZF8oHh6Kr9jbJsgL5Puv1UDVOIcTen7zX0"
195
Returns: {"dddddddd", "fddddddd", "Addddddd", "Sddddddd", "Zddddddd", "Fddddddd", "8ddddddd", "oddddddd", "Hddddddd", "hddddddd", "6ddddddd", "Kddddddd", "rddddddd", "9ddddddd", "jddddddd", "bddddddd", "Jddddddd", "sddddddd", "gddddddd", "Lddddddd", "5ddddddd", "Pddddddd", "uddddddd", "vddddddd", "1ddddddd", "Uddddddd", "Dddddddd", "Vddddddd", "Oddddddd", "Iddddddd", "cddddddd", "Tddddddd", "eddddddd", "nddddddd", "7ddddddd", "zddddddd", "Xddddddd", "0ddddddd", "dfdddddd", "ffdddddd", "Afdddddd", "Sfdddddd", "Zfdddddd", "Ffdddddd", "8fdddddd", "ofdddddd", "Hfdddddd", "hfdddddd", "6fdddddd", "Kfdddddd", "rfdddddd", "9fdddddd", "jfdddddd", "bfdddddd", "Jfdddddd", "sfdddddd", "gfdddddd", "Lfdddddd", "5fdddddd", "Pfdddddd", "ufdddddd", "vfdddddd", "1fdddddd", "Ufdddddd", "Dfdddddd", "Vfdddddd", "Ofdddddd", "Ifdddddd", "cfdddddd", "Tfdddddd", "efdddddd", "nfdddddd", "7fdddddd", "zfdddddd", "Xfdddddd", "0fdddddd", "dAdddddd", "fAdddddd", "AAdddddd", "SAdddddd", "ZAdddddd", "FAdddddd", "8Adddddd", "oAdddddd", "HAdddddd", "hAdddddd", "6Adddddd", "KAdddddd", "rAdddddd", "9Adddddd", "jAdddddd", "bAdddddd", "JAdddddd", "sAdddddd", "gAdddddd", "LAdddddd", "5Adddddd", "PAdddddd", "uAdddddd", "vAdddddd", "1Adddddd", "UAdddddd", "DAdddddd", "VAdddddd", "OAdddddd", "IAdddddd", "cAdddddd", "TAdddddd", "eAdddddd", "nAdddddd", "7Adddddd", "zAdddddd", "XAdddddd", "0Adddddd", "dSdddddd", "fSdddddd", "ASdddddd", "SSdddddd", "ZSdddddd", "FSdddddd", "8Sdddddd", "oSdddddd", "HSdddddd", "hSdddddd", "6Sdddddd", "KSdddddd", "rSdddddd", "9Sdddddd", "jSdddddd", "bSdddddd", "JSdddddd", "sSdddddd", "gSdddddd", "LSdddddd", "5Sdddddd", "PSdddddd", "uSdddddd", "vSdddddd", "1Sdddddd", "USdddddd", "DSdddddd", "VSdddddd", "OSdddddd", "ISdddddd", "cSdddddd", "TSdddddd", "eSdddddd", "nSdddddd", "7Sdddddd", "zSdddddd", "XSdddddd", "0Sdddddd", "dZdddddd", "fZdddddd", "AZdddddd", "SZdddddd", "ZZdddddd", "FZdddddd", "8Zdddddd", "oZdddddd", "HZdddddd", "hZdddddd", "6Zdddddd", "KZdddddd", "rZdddddd", "9Zdddddd", "jZdddddd", "bZdddddd", "JZdddddd", "sZdddddd", "gZdddddd", "LZdddddd", "5Zdddddd", "PZdddddd", "uZdddddd", "vZdddddd", "1Zdddddd", "UZdddddd", "DZdddddd", "VZdddddd", "OZdddddd", "IZdddddd", "cZdddddd", "TZdddddd", "eZdddddd", "nZdddddd", "7Zdddddd", "zZdddddd", "XZdddddd", "0Zdddddd", "dFdddddd", "fFdddddd", "AFdddddd", "SFdddddd", "ZFdddddd" }
3
"US8WhAfXoqyTkVBxJR3GsC9PugNtLm04K5ZFDvHdrMwIjYe6"
5
Returns: {"UUU", "SUU", "8UU", "WUU", "hUU" }
8
"cdeopPrRtT"
4
Returns: {"topcoder", "Topcoder", "docopTer", "receptor" }
Case matters. The first two password suggestions are distinct because one starts with a lowercase t and the other with an uppercase T.
Submissions are judged against all 42 archived test cases, of which 6 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class DistinctStrings with a public method vector<string> generate(int L, string letters, int N) · 42 test cases · 2 s / 256 MB per case