Statistics

Problem Statement for "MultiReplacer"

Problem Statement

Let f be a function that takes a string composed of a's, b's, and c's, and replaces every occurrence of 'a' with arep, 'b' with brep, and 'c' with crep. Your code will compute the length of (quotes for clarity):
	f( f( f( ... f(a) ... ) ) ) : f applied iter times to the string "a"
Since the lengths can grow very large with only a few iterations, you will return the length mod m. For example, if
	arep = abc
	brep = c
	crep = ba
	iter = 3
	m = 7
then you will find the length of
	f(f(f(a))) = f(f(abc)) = f(abccba) = abccbabacabc ,
which is 12. Then you will compute 12 mod 7 = 5, and return 5.

Definition

Class:
MultiReplacer
Method:
length
Parameters:
String, String, String, int, int
Returns:
long
Method signature:
long length(String arep, String brep, String crep, int iter, int m)
(be sure your method is public)

Constraints

  • arep, brep, and crep will contain between 1 and 50 characters inclusive.
  • Each character in arep, brep, and crep will be 'a', 'b', or 'c'.
  • iter will be between 1 and 2000000000 inclusive.
  • m will be between 2 and 2^31-1 inclusive.

Examples

  1. "abc"

    "c"

    "ba"

    3

    7

    Returns: 5

    Same as above.

  2. "b"

    "c"

    "a"

    2000000000

    100

    Returns: 1

  3. "b"

    "c"

    "aa"

    30

    10000

    Returns: 1024

  4. "acabbcabbabac"

    "cababcababcabcabacbacbabcacb"

    "acbacbabcababcabababbabcbcab"

    2000000000

    2000000000

    Returns: 1876480521

  5. "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    1999999997

    2000000001

    Returns: 1960000001

  6. "aa"

    "bbbbbbbbbbb"

    "ccccccccccccccccccc"

    1

    10

    Returns: 2

  7. "aa"

    "b"

    "c"

    2

    10

    Returns: 4

  8. "aa"

    "b"

    "c"

    3

    10

    Returns: 8

  9. "aa"

    "b"

    "c"

    4

    10

    Returns: 6

  10. "aa"

    "b"

    "c"

    4

    2

    Returns: 0

  11. "aa"

    "b"

    "c"

    2

    2

    Returns: 0

  12. "bbbccc"

    "b"

    "c"

    1000

    1000

    Returns: 6

  13. "b"

    "ab"

    "ccccc"

    40

    2100000000

    Returns: 165580141

  14. "bbbaabcacbacb"

    "abacabbbaabbaacbcaacbaccbccbbcbcbbc"

    "accbacaaacbabacc"

    826865891

    239376250

    Returns: 191366368

  15. "baacbbacabacabcccabacbccbaaaacaccbbccccacbcbbb"

    "bbaabccbbabbcbcbbcabbaababaabacbacaaccccabbabab"

    "cbacbcbbcbccaccacbabccbbbcaacbaccacccabbcc"

    1022791726

    1320463375

    Returns: 200884814

  16. "accbacabbcabbcb"

    "bccba"

    "aaaaccbcccbbaaabccccabbbcababcabccacab"

    1380722684

    1023653238

    Returns: 342126284

  17. "a"

    "cbccacbacbcaccbc"

    "bbaabacbcaccacabbaaacbcbacbbccbabbbbbabbbac"

    1816160895

    1664431527

    Returns: 1

  18. "bcbabaccabccbaccbccbaacbaacaaaabababbabaaacb"

    "caacacbcbcabacacbcbcbbcaccaaacaabcbcacabccaabbacab"

    "acbabcbabcbccb"

    954768059

    1509497780

    Returns: 536512196

  19. "aaaccbacaacccaccbaababaabaa"

    "abbcaabcbabbbbacaabbaabcba"

    "acc"

    1636844003

    815665426

    Returns: 468359928

  20. "ccccbacccbcccaabbacbca"

    "ab"

    "bccbcbbaaabb"

    1618724829

    1988502575

    Returns: 1622367127

  21. "cbacb"

    "aaababcabcbbcabcacacbaaaaacccbcbcbcbbbcbbbb"

    "babcabcbbcacabacaccabbacbcacc"

    1594054863

    1281832307

    Returns: 1279902248

  22. "bacccccababbcaaccccacccaccbacaccaaacababcbb"

    "aaacccabaacbababcaaabacbaaccbcaaabbbabcabbbbaab"

    "cbccbbcbaccbacbcacbcbaaacaacaaacacbbaca"

    1938514050

    741088457

    Returns: 468345425

  23. "bbcabcaccbccabbaac"

    "bcbaccabbbacac"

    "bccccbcacaaacbbbbbcbacbbbcbacabbaaa"

    1536144095

    502217385

    Returns: 291351435

  24. "baccaaabbbccacccaaabcbbbcbaacacbbac"

    "bbabcaacbcbccccabcbcabb"

    "cbcccaabccbbabbabcbacaacbbcbcbabcbbbcbababcbac"

    772677291

    501783496

    Returns: 139864848

  25. "aaacabcbcaccacabbabbbcaab"

    "cb"

    "aacbbac"

    1914840539

    418173961

    Returns: 21291675

  26. "abccbbbabbabbcbababbccaaaccbc"

    "babbbbbbacbbabccba"

    "cbabbccbbabcababbbccbabbbcccbaac"

    796266902

    2036410279

    Returns: 1973431835

  27. "bccbcbcbbccbbcacacbabbcccbcbcbcccbaabcacbabb"

    "ccacabbbabbacaaabbbabaaabccbacaaabbcabaca"

    "cccabcacbcbbbccbaaaccacbbacaaabcc"

    1175705567

    715271188

    Returns: 275047018

  28. "baccaabcaaabbcbaccbbacccaaccbaa"

    "bcbcccccbaacbbbaccccacacccaacbacbacbbcbcabbaccb"

    "cbbabcaaababbbbcaacbacbcabcaaaacbcacbba"

    719229319

    2104489795

    Returns: 205213816

  29. "cbaaacccbabaaaabcbababbbabcbabcb"

    "c"

    "aaababbaaabbcaabbac"

    1372252797

    98053647

    Returns: 96049534

  30. "bbcabaababcccaccbbb"

    "cbaabcaccacab"

    "aaacaaabaacaaacaacbccbaccbabccabbacbaaccaab"

    506591718

    902918693

    Returns: 383320859

  31. "ccabbbaaabbbacaacbbc"

    "aaaccabac"

    "cbcabcccaaabbccaccbababcaacaccccbcccbbabba"

    862818600

    744506415

    Returns: 59791538

  32. "cbcbbbbcbcccbacacbba"

    "aacabbcbaababbcbaabcbaacbbcbccabcabccacabcca"

    "abacababbbbcbbaacbbbccbcabcbaa"

    399838958

    920534278

    Returns: 298017450

  33. "bbccccabacabbbbbcabcacababacbccbcbcbccaabcba"

    "cbcbcaacbcbbbcacacbbabaa"

    "bcbacbaabaabaacabaaacabcc"

    1980848377

    1748419839

    Returns: 1452179564

  34. "bccbbccbbcbb"

    "ab"

    "acbacabaacacccbbbcccaabaccccbacbcccabbcaabbcca"

    1672262369

    1348991789

    Returns: 869547815

  35. "abbbcbcbacaaaabcbbaccbcccbbaaaacaccabbcabbac"

    "ccb"

    "bcbbacacbaacaca"

    840645091

    520886083

    Returns: 218262886

  36. "bbabaccabbbcccacc"

    "acaacaccacb"

    "cccccacbacaccabcbac"

    828709055

    1059655499

    Returns: 840397692

  37. "bbacbccacbcbcccbcccabcabcbacbcbbabccaabcbbbbb"

    "cbaccaacccbbaccbcacccbcabaaabacbacaccaaacababbcaa"

    "bbbbcbcc"

    1630158744

    1875541131

    Returns: 1404795644

  38. "aacaaacaaabababaaaabcbcacaccbacbac"

    "baaaaabcabaabbcbaccacbbbabababacbbaaaabccaaaaacc"

    "cbcbbcacbbacbabccbac"

    977939534

    2071873788

    Returns: 1010411052

  39. "acaabbcccabcbacbabcaccaacbbbabbacabacabaaaa"

    "cbaabcabaaccbacacababbaacbacc"

    "accbaaabbcaacabbcbbabbccc"

    337056029

    353529667

    Returns: 318091986

  40. "aabcacabbbbbaacababcacbbaccbccbabacbcbbaca"

    "bbaabbbbbaccabbcacccbbcababcacb"

    "bacbbaaccabccababbacbaacbbcbcacabaaccccaa"

    1972858286

    1384927261

    Returns: 1064975669

  41. "abaaccabcbcaacbbaabcaaaaabbabba"

    "aacbababaaacbbbbbcaaabbbccaba"

    "accaaacbaabcacbabbaabbabacbccbcaaacba"

    1560773805

    685962564

    Returns: 634017671

  42. "babcacb"

    "bacabbbcccaabaa"

    "acaaabcacbcaa"

    1995932921

    31433924

    Returns: 2135191

  43. "cbbaccacbcaccaacabcaacabbabccbcbcaabaaabc"

    "cbccbbcaccbcbbabccacaaabc"

    "ccacbbaaacbbaaabcbcac"

    522623770

    36029667

    Returns: 19224968

  44. "acbabcbcbbbacabbbabbcca"

    "aabcbbbbabacababaabbaac"

    "cca"

    138166463

    2147483647

    Returns: 215913811

  45. "aaaaabcabbbbccacacbaccaccb"

    "aabcabcccbbabaccccbcbbaacabaabbbbaacbbb"

    "abbcbc"

    955909474

    2147483647

    Returns: 445673145

  46. "abcaacbcbaaaacbbbcaccbccccbabab"

    "ccbcbcbbacaccbaaabaabbbabbabcacabbaac"

    "bcacabaccaacacc"

    517235962

    2147483647

    Returns: 1907061609

  47. "ccaabaaacacbbababbabbbcacaaabaabbcaacaaabaccbbca"

    "bbbabcbcbbabbabbbabaaacbccbccaccbbbaaabaabbbca"

    "babbcaaaaaabccaacbacca"

    107576523

    2147483647

    Returns: 225386672

  48. "abbaacbb"

    "cbbcaabcacabbaaaacbbcbccacbbcababccbbcabbacb"

    "bcaccbcbbcbbbbcabcacbbbcbbaccbbcbacabccacabaacbcb"

    1405880388

    2147483647

    Returns: 1951307027

  49. "cbcacbcbbcaabcabbcbaaccccba"

    "ccbccaaaacaacbcaabbbacbbbabaaaccabbbacbbac"

    "cacaaacbaaccbcbcccccabaaccabaccacb"

    1073451030

    2147483647

    Returns: 2090882855

  50. "cbaccabbbcacaccacccbccbacaccacb"

    "cccbbbabacbaaabcacccaccccbbbccbb"

    "cccababa"

    112467467

    2147483647

    Returns: 1682838249

  51. "baaaaaacacbcccbcbcacccbcacbbbbcbbbcca"

    "ba"

    "abccccbaacaccbabcbcabbaa"

    1753435327

    2147483647

    Returns: 408509933

  52. "aacc"

    "cbbcabcbbcacaccabccacacacabca"

    "bbbbccbcbccaaccababbab"

    1272732338

    2147483647

    Returns: 984737429

  53. "acbbbab"

    "bbccacbcbacbbcaaabbaacaaaab"

    "bccaaaa"

    1180200706

    2147483647

    Returns: 1037177613

  54. "acabbcabbabac"

    "cababcababcabcabacbacbabcacb"

    "acbacbabcababcabababbabcbcab"

    2000000000

    2000000000

    Returns: 1876480521

  55. "ab"

    "bc"

    "ac"

    2000000000

    5

    Returns: 1

  56. "abca"

    "bccc"

    "cbac"

    2000000000

    1988989

    Returns: 828546

  57. "abcabcabc"

    "abcabcabc"

    "abcabcabc"

    91

    2147483647

    Returns: 1202204424


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: