Statistics

Problem Statement for "Find3Cheaters"

Problem Statement

You have recently collected a programming assignment from your class, and suspect some people have cheated. An anonymous informant has let you know that the cheaters work in groups of 3. To quickly find the cheaters, you want a program that will find the shortest common supersequence of 3 different assignments. Three assignments will be given to you in three Strings a, b, and c. Return the length of the shortest common supersequence of these 3 Strings.

Given a String X, a subsequence of X is a String produced by removing some of the characters of X (possibly none). For example, (quotes for clarity) "topcoder", "toder", "oode", and "" are all subsequences of "topcoder". If Y is a subsequence of X then X is a supersequence of Y.

Definition

Class:
Find3Cheaters
Method:
shortest
Parameters:
String, String, String
Returns:
int
Method signature:
int shortest(String a, String b, String c)
(be sure your method is public)

Constraints

  • a will contain between 1 and 50 lowercase letters ('a'-'z') inclusive.
  • b will contain between 1 and 50 lowercase letters ('a'-'z') inclusive.
  • c will contain between 1 and 50 lowercase letters ('a'-'z') inclusive.

Examples

  1. "aagaaa"

    "ataatg"

    "ctggg"

    Returns: 11

    "catagagaatg" is a supersequence of all 3 strings.

  2. "wowwowwow"

    "wowwowwow"

    "badbadbad"

    Returns: 18

    "wowwowwowbadbadbad" is a supersequence of all 3.

  3. "a"

    "aaaaaaa"

    "aaaaaaaaaaaaaa"

    Returns: 14

  4. "abcdefghijklmnopqrstuvwxyz"

    "zyxwvutsrqponmlkjihgfedcba"

    "abcdefghijklmnzyxwvutsrqpo"

    Returns: 51

  5. "agtatagtatgtagtatgtatgatgagt"

    "adgatgatgdatddgatgdatgdatgat"

    "adatdgatdgtadgdgtdgatdgtadgt"

    Returns: 41

  6. "agtdaagtdaagtdaagtdaagtdaagtdaagtdaagtdaagtdaagtda"

    "gdaatgdatdgatdgtaddgtadgatgdatdgatdgatagdtagdtagdt"

    "agdtadgatgdtagdtadgtagdtadgtagdtaagdtdtagdatgdtagd"

    Returns: 73

  7. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: 50

  8. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    "cccccccccccccccccccccccccccccccccccccccccccccccccc"

    Returns: 150

  9. "a"

    "a"

    "v"

    Returns: 2

  10. "aqgrlockybdxaxkgbodincreihst"

    "vpimqaxripxfybiusovdjjblxuqsgjreizp"

    "afcnfkztndxtoohedkafaq"

    Returns: 66

  11. "quvrfkbayalgpkqelyhgome"

    "olclspsgmtfmnmkekxwlwbdysydiekbryoe"

    "limgvjpzbpaktudnjgxzfsjvkpjdmtmecgb"

    Returns: 72

  12. "eajrdgzoklhjsumvdialfgfwxrizntnabmcvdagexynlnwqy"

    "lvrklqvtxyocymoodamehvvtmkpjhsbjnskddztkp"

    "tkehmsintkqzhiyucniagrsoydwkebacsqhmbtkzlkedwq"

    Returns: 103

  13. "gwvazohvreqjwmuvfntocmkrgfypzjmopdsuqthwrbr"

    "ojnrhsvepbvkmshoehacdefufdrjdgbnynrejcgqgxcpfjzqd"

    "zkhoqzzcoxfndyyanyzulawzrurpbzljplvmjdnnyccrx"

    Returns: 106

  14. "chjggkvmvmxdcqqvbsnnafyltdhuxrksl"

    "tmesmjtjxbncnemazkrtfoqhlgvqkylenf"

    "qlcyqatgqbknspzyulionztjbfqi"

    Returns: 71

  15. "bxllwnbwhoijapyqrseueohvtulziao"

    "tipdmnewyfzienvsbaeaffwhrnd"

    "spmquuqttveyceyoaamoenlldcrxi"

    Returns: 68

  16. "kttienmqexpgyildcmvtazptzkasxjnmmajdyrkfpijfvu"

    "wjcotodfbh"

    "wrxyxaerkirjysxnviamzjcmv"

    Returns: 66

  17. "sfajtchraec"

    "jcyswgogls"

    "twqtvoodjdvrsotff"

    Returns: 31

  18. "psohrmqowvvsdulsacnwlkvfxtktkzez"

    "lmcfmyvxmhqtagnhbncctliwsihjzparytmlfysqdtpontjsv"

    "siosqviwpmgkaixqvwvrnbvjcxwjiou"

    Returns: 89

  19. "kqijcrjtzutrsrnezyowmqydgqozmculdgvozuiyomsn"

    "unnnwvjdrxgtxnqthlfvvcvgydrdbfvnrtqbnszya"

    "ivktpoxeaiioydegmxqmfeaghpxipgwpbqxbvyvoaasfipyys"

    Returns: 102

  20. "tdyhrrgeimssolzwtulqvvfknfjfxymruvsotfwcefb"

    "gyyvanobzabqrtnuogdodax"

    "rxomwgpgtivtlgvqfgbppyolztleigbpqplzpv"

    Returns: 83

  21. "tbamqpvwjahhfkyagefhrwspf"

    "lqxlswcdeafhcewuohasrlqsatiupmvnxnovyigiogwciimae"

    "dqwvcpcklp"

    Returns: 68

  22. "gljtxofrsphkdaoooltipwsnln"

    "csthbyvwspydnnfoebvnepolfzqkj"

    "rrxqdejqunalymldgjgsecbwjxqscsrvarielsydghmpv"

    Returns: 81

  23. "uvcsfodzfxlqnyliamcngqgwmknei"

    "zwksdswgvkxejykqw"

    "qtrhuoxrfwyxhtvxwjognuijbfnbxwciddpsosnllkvnrmhhq"

    Returns: 76

  24. "rflkmntybtvalucsxvgdorgrgywvkjamljdh"

    "easatlgrgjokmdajusew"

    "gxxkdrkborbyy"

    Returns: 55

  25. "qwwkqefneudjorjziozfhcnzesbseolwwbaiabynndoiqgokwt"

    "kynloepleiqyqwfeugvcoxgubanozwhwtfbpul"

    "voldhvglwwk"

    Returns: 76

  26. "coinavsxeuzjrdqeimtidtmttfcprjhuspytytsduxtehpksp"

    "hcidsifvyhotdbaghwwuwxaxysaidqtwtlwunjmddiqereyuhd"

    "hhyacovzyzqwmamigtxnhnqdodzgtugymhjkolvyinxe"

    Returns: 109

  27. "unemddgonpxedpvlsdwhzmwftysqycvce"

    "lfimhsmcdtwqipskvdziiayyibshyx"

    "hctqaivgxv"

    Returns: 56

  28. "lkbwjxwnsqjykllotezyriycaafwhnlyjbszxlur"

    "wbodnnzxccqebgkjhxlwukrnutljqpnaqmgeqhitgyz"

    "jelotcdtdfezzktkiue"

    Returns: 81

  29. "phdugvoxllprbylxcuyjfjpebcmsnjlppmsmgjrwf"

    "hrevawvgfioxnyoqwkalestcz"

    "icpebbqvhwuk"

    Returns: 63

  30. "abodjkxspckqrnskmveyvinurcedf"

    "meeevjzypiomeffdombjhbuyvuugrtpysg"

    "ukmruefljkaznxndkhxacmenksctsfcdxizojjf"

    Returns: 77

  31. "iifavjqsmfdwygqujhpfzzfxeamqbhbkudqbafccyisa"

    "pnafjhvvbhzvwgsogtmccu"

    "gczcrbbdjvtgqgwhus"

    Returns: 65

  32. "rovjkkzkdexndodmsmlfsqhx"

    "lezxykbnrtisezcxotebr"

    "srxqfiqlrieuhikhxqwlgdqixvrgalvmhawszlplrvwugs"

    Returns: 73

  33. "kieznejbirxngutsnekdyvdsnr"

    "fwpxkfsqxqwtxcaabqfpiouherepmzzhwjzjtcvhiji"

    "eakbgqwzxhhgkhozoxejwntv"

    Returns: 74

  34. "achonkpulqqtmjxqzou"

    "edvooqjhyuegidegdtehqbuzoelpwpbrgyl"

    "ogutdogyaravkyeyjb"

    Returns: 58

  35. "yqfglskmziypomistnancpcnjlgzu"

    "fcdaphvxjzxawgzuyxkelipxwflllexqddfkvegas"

    "pukhvteymmozyxgonrtlexbhyubuajggslb"

    Returns: 82

  36. "ygryfhpomloeehxe"

    "vtxypydiiyhbavqebbizwbxeeplogbrgizdorzjddwrmspcxsc"

    "eevvczvfjjhxvuubuvvpepxuxekcdehkxxkwbemgpspyne"

    Returns: 89

  37. "hlbheonejedperznpidjxxajesutmrxjwavomkwnruksuqbu"

    "wwnxyqbmvgxqxhnblmkavahuucwhpqfahuiib"

    "vgtrsnvgujflgibajtxjpdoapjgtrcihrjtetr"

    Returns: 97

  38. "edswuhkfsikfzvmhbiesmmy"

    "qnfdopoeqnxtnaagvgsqiqxitboaloye"

    "rgcxodmcyxnejioitvafdnaqxinp"

    Returns: 68

  39. "ntqhnhpflkjifidmrayqubebeqyyftnccpnonqwpcfes"

    "vckctpcuuulubxnhrnmxlvmk"

    "sgtpzouwtjdlryhmrcvqdgxxgukalzmriejazozdzgmdwzhhxi"

    Returns: 96

  40. "dbccadbdcdacbdbaaaadbab"

    "acbdaccdbdcdaccd"

    "bacacacbbbcbdcbabadddcdbcd"

    Returns: 37

  41. "cccdcdccbcaaadddadabcacacbbacdaccaddaaacbdaaacddd"

    "aaabdddbbcababbbbbaddbcdb"

    "bbdcddbcaabcdabadbbbdcddabbbdbdbcbdadbaadbaabdacc"

    Returns: 72

  42. "cdadadbccabdbbadbcc"

    "cbadacbdcdbbdbbaddbcaaddabdacadddb"

    "aadacbcbcacbdcbbdccdddababbcccccdaccbdcbcbccdcc"

    Returns: 59

  43. "bdaddcbdbbccdbbcdca"

    "baadadaadbbcbaacacdadb"

    "bdcdbadddabcaccbacbbdccacabaadcacacddbcbadcacbdaa"

    Returns: 53

  44. "cdbdcdcadabbdbdacbbbadbcaadadbdbbbacbbdbcdab"

    "dbbcadddcbdabadbddcbbcdbbbcacabdbcadbb"

    "bdcdcddadbabacb"

    Returns: 54

  45. "ccaccccacadbbbbbbaabccabbbccbcd"

    "aadbdcccbddaadacbbabab"

    "caccdcdacbabbbdacaacbddabdcacadcdbdcadcadcbcbabdb"

    Returns: 58

  46. "bbdddabdaaaac"

    "acaadcbcbdbadbaccaabdcbbcabbdbabacdacbdbdbcdc"

    "aababbdcaddc"

    Returns: 46

  47. "aaddabbcbdcd"

    "acabdbcdadaaaaacacaddacbdbccab"

    "adbcccbbbc"

    Returns: 33

  48. "ddbabbcbabdaabaac"

    "ddbbdbdbbacddaabcadadbdcbcbbbdbbbbdbaaab"

    "caddcbccdcccdbaacbbdddc"

    Returns: 50

  49. "cbddbbdcaabadcdcddcada"

    "ccadddbbbdabcbbdbdccabdcdbccadacdadadbdbbadbbdcb"

    "bdbcddccbcbdabbccdadbaabccbdcabbdcabbadb"

    Returns: 60

  50. "ddcccccdddbaccaabbdbcadcb"

    "acbcabdcbacacacbbcbcabdaac"

    "abcdccacaccdadcabadbdcbbcdbcdaddcddacdcc"

    Returns: 51

  51. "bababcccbcdcbddacbaaaadadddacdabbaadadbbbbaaacbdcd"

    "dcdcacdcddabacdacccbdc"

    "ddacacccbbdddaaabcacacbdababbcccac"

    Returns: 62

  52. "cdacdbbaabbdaddabaddbadadacaaaabcccaabdbab"

    "adaabdbaddcbadcb"

    "dabbbbacbccabcaad"

    Returns: 44

  53. "cddbbccbbccababdccabacadabacbcaacbbaaaa"

    "bbcdcccdcadbddbdccbabdbccbcbadbddc"

    "dcdaacacbcdadbcdddabaddabacdaabccbab"

    Returns: 58

  54. "caacbddabbccdadbccabdaddbdabaabbdabdbbcb"

    "bbabcccabcdbcadbbccddcbabcbacbbdacdbddcdacd"

    "dcbaacbdacdabbacdabbbcdcadacbadbcad"

    Returns: 62

  55. "addcdcdccacdbdabcadcabdacddbcbddddabad"

    "accbddaccbacccdb"

    "acdcbcbaccdabcabaadcdcdcb"

    Returns: 44

  56. "dbabbbabbcaccdaacbcbbdbbcabccdbdcc"

    "ddbdccdddbaaccbbcbaccbbadcacbdbc"

    "adbbbdbadcbcacbc"

    Returns: 47

  57. "bdccdaccddaacbdcaabca"

    "bcacccbcadbcccbdcdbdc"

    "bdcdcadcdbcdbbbcbbccdbdb"

    Returns: 36

  58. "aaccdbdbbbcbcaccadbddbbbcacaadbccb"

    "dacaacdcbabbbbdadaabbddcbcbdcdd"

    "bcbdbabcdcccadbdaacaabccaacdbcdddbcddaaddb"

    Returns: 60

  59. "abdadccbcdddabbdbcbdcadbdabbddddacdcacbda"

    "aabbbcbbbd"

    "adcddacabaac"

    Returns: 41

  60. "acdacbddbdbbddbbbddadcdcaabaa"

    "acdadccdbd"

    "bcccddbbcaddbbdbaaaababdba"

    Returns: 38

  61. "cacbdabcccdcbadddcabdbdddaaccabbc"

    "bccbabbbdacbddcddaabadacdcdddccdcdcaddbbdcabdaad"

    "dcbaadcacadddddcacbbabba"

    Returns: 59

  62. "ddbaaabaadcbbcaadbcbcdbabcb"

    "bdbbdaabccdadaabacbdddcbad"

    "dbcadaadcadbdbcaddaadcabddcbcdcdb"

    Returns: 45

  63. "bbbadabbdaabacaadbcaacccbcadaddcbaacbbccccbb"

    "dcbcbccacdbaacdd"

    "dcabbbbdbbdcb"

    Returns: 48

  64. "caadbbbbdacccdaddbddbabbadababdab"

    "babcbcaacbc"

    "bddbaacdadccaccabccdbaabacdbabd"

    Returns: 45

  65. "baacadaccccbcbcdda"

    "ddbcbdcbabdaadcdadcda"

    "cacabdddbdadacccbaddcadbacaddbdbbcdabddbc"

    Returns: 47

  66. "aabcccbbbaabcadaac"

    "acdaddbcbbccbbddcbbbadbdabcdcdbccbdaad"

    "dacbcbbddaacadddddcabb"

    Returns: 44

  67. "ccbdbdccbcadbaaabccdabacadadcc"

    "cabbdbdcdacdddddcabacdbbbbacbacadccabaabadadaccbd"

    "aabbddbbbabacbcbbccdbddacddabccdbcbdcdc"

    Returns: 64

  68. "cdbbaadabddabadadc"

    "dbababddccbbdcabbcbdccbbaddacaaadcacbabaaadabc"

    "bccbadacccbaabdbbccabbccdccdacbdbabbbccbccc"

    Returns: 64

  69. "caddcadccbcabbaacbaababbbdbd"

    "ccbddddcccabcdabcdcbcbbcbcaabcbaabaadaaa"

    "dcbaadcadaacacbaaccabadd"

    Returns: 51

  70. "mimpvvhkwsslmpvcrpddypkypworwdeqjrwhoetvpnodtvjtgo"

    "huskyyztvstmlxatwcgsczmtinsxtsfdgovpnfpfetfjcndhxj"

    "nrtfdozwbbqcpwavxwxgqlccmoizzhqmwhrnoeiijszjqtloaj"

    Returns: 116

  71. "npcdeiglgbflfethnitflzfxzizhidrzlswfxomopaakyccljb"

    "mowmilpcokurskonlpxdfxpsgqesclejpgnjhwbpjwnpunvdnl"

    "cfoxlfccopzxehexnqaxqztrtkviftalhclhkhwudrjwxygvjf"

    Returns: 114

  72. "edzssdeoysisijbnwmyvbthtqdybskkczxelsnfxottcveuacc"

    "hkngjtrjmjijplenpnownzoekgnwyyqpbmfdymycnpdpidlnpq"

    "ncscbaesecrospkqxqggkxcfcithrlqluglzetxnknqfxuyvfe"

    Returns: 116

  73. "rliivczabkcsrzgynhdglkhzbbzvqhwtpjrjtqihilvuttgmqc"

    "nndubjbscuanlbvlivgazgjirltmwqvnxfngbeepgltnxmppbm"

    "jtquxresszhavxtreeazgytjecvxmvfvlnstdptkyeqtyyjfuu"

    Returns: 115

  74. "ojlqhqlwtucefuuelhhdirslqcxgjkubwdpxbkuzovhvrxuyhv"

    "qmccekaujddawovntjzcspilqmondflxtupkiovabrtuxnazzm"

    "pobemwwaoqkbwmsetnlldfavbublmwlautugadvkymvmimduro"

    Returns: 113

  75. "caacdddcbcadddababaccdbdbccbdbbbadcabdddbabccbcdbd"

    "cabdbddabcddbddacddbadcaadaacabaddcbaddcddacccbbda"

    "caadbcabaacddbacddbcdcbddadddddaaabcaacbbbbbccbbcb"

    Returns: 79

  76. "dcadcbdcdccccdcaacbaadccdbcbccdcdcabcdabaacdbdbdcb"

    "bdbccabdbaacaaaadbddbdcacdaddcbcaaccdaddcdcdaaaaab"

    "cbcacdbccbadbdbbaccdcbbdbbbbabccddbcddccbbaddbdcab"

    Returns: 82

  77. "cdbbabbdaadbcdddbcabccdcbdbbacdaccacdbbacadccacccd"

    "ccbbbaacdcdbbbbbcbddbdbaaaabbcacaacbdaacaddbbdcdac"

    "cadbbcabbbbcbbbccdbaacadcdbcdadcbcbaabaaadbbcbbccc"

    Returns: 79

  78. "dccbdbcdbdcdcbbbbaddacdbdabdadaadcbbbabdacacdcbddc"

    "bccaadbacbabdcbbadddabdbccdcbcabbdabacddbaccbadada"

    "abbccbdddabdbddadcabdcdaddddabcdabddcccbddcdbbccca"

    Returns: 78

  79. "dbbdbacccdcbcbdcacbcdadcabbdaacbccdcbaaaddaadbddcb"

    "bbdbcdbdcbdcdddadcbcbcaabbcdcbbdcccaacabcdacdbabad"

    "adaacbdaaabbbacaccabbaccddcddcbdbadaddbdbaaabadddd"

    Returns: 82

  80. "z"

    "z"

    "z"

    Returns: 1

  81. "z"

    "y"

    "x"

    Returns: 3

  82. "z"

    "y"

    "y"

    Returns: 2

  83. "a"

    "s"

    "d"

    Returns: 3

  84. "aesoiosoadaesoiosaaaaaaaiosoadaesoiosoadaesoiosoad"

    "aslkdflksadjflkjsadaaaaaaaalkfjasldkjfsladkjfjfjfj"

    "lkasdjfklsadjfklsajdfsaaaaahdfjakhfkjsahdfkjahsda"

    Returns: 96

  85. "jalladdjfhksalaahgdjgkgllllalasgshdhdfjskaldhfkjfk"

    "allajshhsjsssssssshahsgfjjgkkaafjkakalllllkddshfla"

    "hjkfklassgdfhhgkhlllaashddggdafdkgldlassssssskskls"

    Returns: 98

  86. "ab"

    "ba"

    "ab"

    Returns: 3

  87. "abcbbcababaababbcbcbbcbabbababbacbbcbcbabababcbccb"

    "cbababaabccbcbbcbccbabbabaabaaababbcbbcabbcbababcb"

    "cbaabbbabbababbabbcbabbababbbccbcbbbabcbbabcbbabba"

    Returns: 71

  88. "fddfdddfddfdddhsjkafhksdjgdfgkjsdfkjsdahk"

    "lkgkudsydhgjkdshkjgydsuihhghjgjhgjhgjk"

    "vnxbmzdtrwwpokdskjghkgdsgjhfgfdfkjhjgtyu"

    Returns: 84

  89. "ab"

    "ba"

    "a"

    Returns: 3

  90. "acnkclndsoifcqwoncwopqincwqoencwqoince"

    "ruewipwqeoqwpoeruwqieruiqweuruwqier"

    "qwerywqueryiqweryqiwutyeiowrutyeiwry"

    Returns: 76

  91. "aagaaa"

    "ataatg"

    "ctggg"

    Returns: 11

  92. "abababababab"

    "aaaabbbbbbbb"

    "aaaaaccccaaaccc"

    Returns: 24

  93. "abc"

    "cba"

    "acb"

    Returns: 5

  94. "asdbdsretkjsdfjhsdfej"

    "lsdkgjdsfghsdfcansdkjat"

    "sdlkfjsdcasberlkjfklasdhhd"

    Returns: 45

  95. "abaabababaabcaaaabbacaaaabbbaaaaabbbaaabaabaaabaab"

    "aabaaabaaabaaaabbbaccabbbaaaabaaabbbacaaaaababbbaa"

    "baaabaaabaaabaacaaaaacababbbaaaaaaaacaabbbaaaaaaab"

    Returns: 66

  96. "aaabb"

    "bbaaa"

    "b"

    Returns: 7

  97. "erk"

    "rek"

    "ker"

    Returns: 5

  98. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    "cccccccccccccccccccccccccccccccccccccccccccccccccc"

    Returns: 150

  99. "dcba"

    "abcdefgh"

    "hgfe"

    Returns: 14

  100. "abcabc"

    "bcabca"

    "cabcab"

    Returns: 8

  101. "a"

    "ba"

    "ba"

    Returns: 2

  102. "ymkpdzxkgctgcfyezdhdqpuqgbtlpqsdwhpiqbinjeejcnqvvk"

    "yjzeqpbonctssgtvidrwcpwsvrcqraltkxahyvmguzbwuawtpm"

    "mjjxosajavpjxwetszjvsggzaqovugpefilqckeszrlbwwkwer"

    Returns: 113

  103. "aaaaabdcccccc"

    "baaaaaccccccd"

    "aaaaabdcccccc"

    Returns: 15


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: