Statistics

Problem Statement for "PalindromfulString"

Problem Statement

A palindrome is a string that is the same whether it is read from left to right or from right to left.

Consider a string of length N which contains only uppercase letters. Write down all of its contiguous substrings of length M (a separate substring must be written down for each starting position, even if some of these substrings are the same strings). If at least K of the substrings you have written down are palindromes, we call the string palindromful.

Return the number of different palindromful strings of length N.

Definition

Class:
PalindromfulString
Method:
count
Parameters:
int, int, int
Returns:
long
Method signature:
long count(int N, int M, int K)
(be sure your method is public)

Constraints

  • N will be between 2 and 11, inclusive.
  • M will be between 2 and N, inclusive.
  • K will be between 0 and 11, inclusive.

Examples

  1. 2

    2

    1

    Returns: 26

    For a string of length 2, the only substring of length 2 is the string itself. Therefore, in this case we need to count palindromes of length 2, which are "AA", "BB", ..., "ZZ".

  2. 2

    2

    0

    Returns: 676

    This time there can be no palindrome among the substrings, so any string of length 2 will do.

  3. 3

    2

    1

    Returns: 1326

    Either the first two or the last two characters of the string should be equal, with no restrictions on the remaining one. This gives us 2*26*26=1352 variants, of which 26 are strings consisting entirely of the same character and therefore duplicated.

  4. 4

    4

    1

    Returns: 676

    We're looking for palindromes of length 4.

  5. 7

    3

    3

    Returns: 4310176

  6. 11

    2

    0

    Returns: 3670344486987776

  7. 11

    2

    1

    Returns: 1190791264331526

  8. 11

    2

    3

    Returns: 20442143237776

  9. 11

    2

    4

    Returns: 1399174487776

  10. 11

    2

    5

    Returns: 66166675276

  11. 11

    2

    6

    Returns: 2182300276

  12. 11

    2

    8

    Returns: 737776

  13. 11

    2

    10

    Returns: 26

  14. 11

    2

    11

    Returns: 0

  15. 11

    3

    1

    Returns: 1091609135425276

  16. 11

    3

    2

    Returns: 163264408862776

  17. 11

    3

    4

    Returns: 865971362776

  18. 11

    3

    8

    Returns: 152776

  19. 11

    4

    1

    Returns: 43213517317776

  20. 11

    4

    2

    Returns: 220200491576

  21. 11

    4

    4

    Returns: 63029226

  22. 11

    5

    0

    Returns: 3670344486987776

  23. 11

    5

    1

    Returns: 37839705612176

  24. 11

    5

    2

    Returns: 165023937676

  25. 11

    5

    6

    Returns: 34476

  26. 11

    6

    0

    Returns: 3670344486987776

  27. 11

    6

    1

    Returns: 1252786085226

  28. 11

    6

    2

    Returns: 174437926

  29. 11

    6

    3

    Returns: 1811576

  30. 11

    6

    5

    Returns: 1326

  31. 11

    6

    6

    Returns: 26

  32. 11

    6

    7

    Returns: 0

  33. 11

    7

    1

    Returns: 1044017932776

  34. 11

    7

    3

    Returns: 1352676

  35. 11

    8

    0

    Returns: 3670344486987776

  36. 11

    8

    9

    Returns: 0

  37. 11

    9

    4

    Returns: 0

  38. 11

    9

    2

    Returns: 51376

  39. 11

    9

    1

    Returns: 24095378476

  40. 11

    10

    0

    Returns: 3670344486987776

  41. 11

    10

    1

    Returns: 617831526

  42. 11

    10

    2

    Returns: 26

  43. 11

    11

    0

    Returns: 3670344486987776

  44. 11

    11

    1

    Returns: 308915776

  45. 11

    11

    11

    Returns: 0

  46. 10

    2

    1

    Returns: 41984966747126

  47. 10

    2

    2

    Returns: 6279400340876

  48. 10

    2

    3

    Returns: 566509715876

  49. 10

    2

    6

    Returns: 34715876

  50. 10

    2

    9

    Returns: 26

  51. 10

    3

    0

    Returns: 141167095653376

  52. 10

    3

    1

    Returns: 38017681590876

  53. 10

    3

    4

    Returns: 19087840876

  54. 10

    3

    6

    Returns: 11965876

  55. 10

    3

    7

    Returns: 135876

  56. 10

    4

    0

    Returns: 141167095653376

  57. 10

    4

    1

    Returns: 1455373292776

  58. 10

    4

    2

    Returns: 6347074526

  59. 10

    4

    5

    Returns: 52676

  60. 10

    4

    10

    Returns: 0

  61. 10

    5

    1

    Returns: 1248382010876

  62. 10

    5

    2

    Returns: 4528457076

  63. 10

    5

    3

    Returns: 50514776

  64. 10

    6

    0

    Returns: 141167095653376

  65. 10

    6

    1

    Returns: 40154535876

  66. 10

    6

    2

    Returns: 4461626

  67. 10

    6

    3

    Returns: 52026

  68. 10

    7

    3

    Returns: 34476

  69. 10

    8

    1

    Returns: 926745326

  70. 10

    8

    2

    Returns: 1976

  71. 10

    9

    1

    Returns: 617830876

  72. 10

    10

    0

    Returns: 141167095653376

  73. 10

    10

    1

    Returns: 11881376

  74. 9

    2

    4

    Returns: 734147726

  75. 9

    2

    5

    Returns: 23210226

  76. 9

    2

    7

    Returns: 5226

  77. 9

    3

    6

    Returns: 118976

  78. 9

    4

    1

    Returns: 48014692726

  79. 9

    5

    2

    Returns: 115934676

  80. 9

    6

    1

    Returns: 1235559026

  81. 9

    6

    3

    Returns: 1326

  82. 9

    9

    1

    Returns: 11881376

  83. 9

    9

    2

    Returns: 0

  84. 8

    2

    0

    Returns: 208827064576

  85. 8

    2

    3

    Returns: 370033326

  86. 8

    2

    4

    Returns: 14564576

  87. 8

    2

    7

    Returns: 26

  88. 8

    3

    1

    Returns: 43788002076

  89. 8

    3

    3

    Returns: 217689576

  90. 8

    5

    2

    Returns: 2670876

  91. 8

    7

    2

    Returns: 676

  92. 8

    8

    1

    Returns: 456976

  93. 6

    2

    1

    Returns: 55009526

  94. 6

    2

    4

    Returns: 3276

  95. 6

    2

    5

    Returns: 26

  96. 6

    3

    4

    Returns: 676

  97. 6

    4

    2

    Returns: 1976

  98. 6

    4

    3

    Returns: 26

  99. 6

    6

    1

    Returns: 17576

  100. 7

    2

    0

    Returns: 8031810176

  101. 7

    2

    1

    Returns: 1684153926

  102. 7

    2

    4

    Returns: 247676

  103. 7

    3

    1

    Returns: 1430247676

  104. 7

    4

    1

    Returns: 47421426

  105. 7

    5

    3

    Returns: 676

  106. 7

    7

    1

    Returns: 456976

  107. 7

    7

    7

    Returns: 0

  108. 5

    2

    0

    Returns: 11881376

  109. 5

    2

    1

    Returns: 1725126

  110. 5

    2

    4

    Returns: 26

  111. 5

    3

    1

    Returns: 1318876

  112. 5

    3

    2

    Returns: 51376

  113. 5

    3

    3

    Returns: 676

  114. 5

    4

    1

    Returns: 35126

  115. 5

    4

    2

    Returns: 26

  116. 5

    5

    1

    Returns: 17576

  117. 4

    2

    0

    Returns: 456976

  118. 4

    2

    1

    Returns: 50726

  119. 4

    2

    2

    Returns: 1976

  120. 4

    2

    3

    Returns: 26

  121. 4

    3

    0

    Returns: 456976

  122. 4

    3

    1

    Returns: 34476

  123. 4

    3

    2

    Returns: 676

  124. 4

    3

    11

    Returns: 0

  125. 3

    2

    0

    Returns: 17576

  126. 3

    2

    2

    Returns: 26

  127. 2

    2

    11

    Returns: 0

  128. 2

    2

    10

    Returns: 0

  129. 11

    5

    5

    Returns: 1369576

  130. 11

    4

    7

    Returns: 1326

  131. 11

    8

    5

    Returns: 0


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: