Statistics

Problem Statement for "KSlopePermutation"

Problem Statement

Consider the permutation a=(a[0], a[1], ..., a[n-1]) of integers from 0 to n-1, inclusive. Its inverse permutation is b=(b[0], b[1], ..., b[n-1]), where b[a[i]]=i. For example, the inverse permutation of (2, 0, 3, 1, 4) is (1, 3, 0, 2, 4).

We say that permutation a is k-slope if its inversion permutation b has exactly k positions i, such that b[i] > b[i+1]. For example, permutation (2, 0, 3, 1, 4) is 1-slope because its inverse, (1, 3, 0, 2, 4), has exactly one such position (at i=1: 3 > 0).

You are given ints n, k and f. Return the number of k-slope permutations of numbers from 0 to n-1, inclusive, such that a[0]=f.

Definition

Class:
KSlopePermutation
Method:
getCount
Parameters:
int, int, int
Returns:
long
Method signature:
long getCount(int n, int k, int f)
(be sure your method is public)

Constraints

  • n will be between 1 and 20, inclusive.
  • k will be between 0 and n-1, inclusive.
  • f will be between 0 and n-1, inclusive.

Examples

  1. 4

    1

    0

    Returns: 4

    The permutations are (0, 1, 3, 2), (0, 2, 1, 3), (0, 2, 3, 1) and (0, 3, 1, 2).

  2. 2

    1

    0

    Returns: 0

    For n = 2, the only permutation that starts with 0 is (0, 1) which is 0-slope.

  3. 3

    0

    1

    Returns: 0

    The only 0-slope permutation is (0, 1, 2).

  4. 7

    3

    2

    Returns: 330

  5. 1

    0

    0

    Returns: 1

  6. 2

    0

    0

    Returns: 1

  7. 2

    0

    1

    Returns: 0

  8. 2

    1

    0

    Returns: 0

  9. 2

    1

    1

    Returns: 1

  10. 3

    0

    0

    Returns: 1

  11. 3

    0

    1

    Returns: 0

  12. 3

    0

    2

    Returns: 0

  13. 3

    1

    0

    Returns: 1

  14. 3

    1

    1

    Returns: 2

  15. 3

    1

    2

    Returns: 1

  16. 3

    2

    0

    Returns: 0

  17. 3

    2

    1

    Returns: 0

  18. 3

    2

    2

    Returns: 1

  19. 4

    0

    0

    Returns: 1

  20. 4

    0

    1

    Returns: 0

  21. 4

    0

    2

    Returns: 0

  22. 4

    0

    3

    Returns: 0

  23. 4

    1

    0

    Returns: 4

  24. 4

    1

    1

    Returns: 3

  25. 4

    1

    2

    Returns: 3

  26. 4

    1

    3

    Returns: 1

  27. 4

    2

    0

    Returns: 1

  28. 4

    2

    1

    Returns: 3

  29. 4

    2

    2

    Returns: 3

  30. 4

    2

    3

    Returns: 4

  31. 4

    3

    0

    Returns: 0

  32. 4

    3

    1

    Returns: 0

  33. 4

    3

    2

    Returns: 0

  34. 4

    3

    3

    Returns: 1

  35. 5

    0

    0

    Returns: 1

  36. 5

    0

    1

    Returns: 0

  37. 5

    0

    2

    Returns: 0

  38. 5

    0

    3

    Returns: 0

  39. 5

    0

    4

    Returns: 0

  40. 5

    1

    0

    Returns: 11

  41. 5

    1

    1

    Returns: 4

  42. 5

    1

    2

    Returns: 6

  43. 5

    1

    3

    Returns: 4

  44. 5

    1

    4

    Returns: 1

  45. 5

    2

    0

    Returns: 11

  46. 5

    2

    1

    Returns: 16

  47. 5

    2

    2

    Returns: 12

  48. 5

    2

    3

    Returns: 16

  49. 5

    2

    4

    Returns: 11

  50. 5

    3

    0

    Returns: 1

  51. 5

    3

    1

    Returns: 4

  52. 5

    3

    2

    Returns: 6

  53. 5

    3

    3

    Returns: 4

  54. 5

    3

    4

    Returns: 11

  55. 5

    4

    0

    Returns: 0

  56. 5

    4

    1

    Returns: 0

  57. 5

    4

    2

    Returns: 0

  58. 5

    4

    3

    Returns: 0

  59. 5

    4

    4

    Returns: 1

  60. 6

    0

    0

    Returns: 1

  61. 6

    0

    1

    Returns: 0

  62. 6

    0

    2

    Returns: 0

  63. 6

    0

    3

    Returns: 0

  64. 6

    0

    4

    Returns: 0

  65. 6

    0

    5

    Returns: 0

  66. 6

    1

    0

    Returns: 26

  67. 6

    1

    1

    Returns: 5

  68. 6

    1

    2

    Returns: 10

  69. 6

    1

    3

    Returns: 10

  70. 6

    1

    4

    Returns: 5

  71. 6

    1

    5

    Returns: 1

  72. 6

    2

    0

    Returns: 66

  73. 6

    2

    1

    Returns: 55

  74. 6

    2

    2

    Returns: 50

  75. 6

    2

    3

    Returns: 50

  76. 6

    2

    4

    Returns: 55

  77. 6

    2

    5

    Returns: 26

  78. 6

    3

    0

    Returns: 26

  79. 6

    3

    1

    Returns: 55

  80. 6

    3

    2

    Returns: 50

  81. 6

    3

    3

    Returns: 50

  82. 6

    3

    4

    Returns: 55

  83. 6

    3

    5

    Returns: 66

  84. 6

    4

    0

    Returns: 1

  85. 6

    4

    1

    Returns: 5

  86. 6

    4

    2

    Returns: 10

  87. 6

    4

    3

    Returns: 10

  88. 6

    4

    4

    Returns: 5

  89. 6

    4

    5

    Returns: 26

  90. 6

    5

    0

    Returns: 0

  91. 6

    5

    1

    Returns: 0

  92. 6

    5

    2

    Returns: 0

  93. 6

    5

    3

    Returns: 0

  94. 6

    5

    4

    Returns: 0

  95. 6

    5

    5

    Returns: 1

  96. 7

    0

    0

    Returns: 1

  97. 7

    6

    0

    Returns: 0

  98. 7

    0

    1

    Returns: 0

  99. 7

    6

    6

    Returns: 1

  100. 7

    0

    0

    Returns: 1

  101. 7

    6

    1

    Returns: 0

  102. 7

    1

    4

    Returns: 15

  103. 7

    2

    1

    Returns: 156

  104. 7

    2

    2

    Returns: 180

  105. 8

    0

    0

    Returns: 1

  106. 8

    7

    0

    Returns: 0

  107. 8

    0

    1

    Returns: 0

  108. 8

    7

    7

    Returns: 1

  109. 8

    0

    3

    Returns: 0

  110. 8

    0

    6

    Returns: 0

  111. 8

    0

    2

    Returns: 0

  112. 8

    7

    2

    Returns: 0

  113. 8

    6

    2

    Returns: 21

  114. 9

    0

    0

    Returns: 1

  115. 9

    8

    0

    Returns: 0

  116. 9

    0

    1

    Returns: 0

  117. 9

    8

    8

    Returns: 1

  118. 9

    6

    7

    Returns: 960

  119. 9

    1

    2

    Returns: 28

  120. 9

    4

    2

    Returns: 16912

  121. 9

    4

    1

    Returns: 19328

  122. 9

    6

    8

    Returns: 4293

  123. 10

    0

    0

    Returns: 1

  124. 10

    9

    0

    Returns: 0

  125. 10

    0

    1

    Returns: 0

  126. 10

    9

    9

    Returns: 1

  127. 10

    4

    8

    Returns: 140571

  128. 10

    8

    0

    Returns: 1

  129. 10

    1

    1

    Returns: 9

  130. 10

    5

    0

    Returns: 88234

  131. 10

    7

    6

    Returns: 5124

  132. 11

    0

    0

    Returns: 1

  133. 11

    10

    0

    Returns: 0

  134. 11

    0

    1

    Returns: 0

  135. 11

    10

    10

    Returns: 1

  136. 11

    8

    7

    Returns: 14880

  137. 11

    10

    7

    Returns: 0

  138. 11

    10

    2

    Returns: 0

  139. 11

    7

    3

    Returns: 200640

  140. 11

    0

    8

    Returns: 0

  141. 12

    0

    0

    Returns: 1

  142. 12

    11

    0

    Returns: 0

  143. 12

    0

    1

    Returns: 0

  144. 12

    11

    11

    Returns: 1

  145. 12

    5

    10

    Returns: 14413894

  146. 12

    6

    6

    Returns: 13547688

  147. 12

    11

    8

    Returns: 0

  148. 12

    4

    0

    Returns: 9738114

  149. 12

    8

    11

    Returns: 2203488

  150. 13

    0

    0

    Returns: 1

  151. 13

    12

    0

    Returns: 0

  152. 13

    0

    1

    Returns: 0

  153. 13

    12

    12

    Returns: 1

  154. 13

    10

    9

    Returns: 111320

  155. 13

    11

    10

    Returns: 66

  156. 13

    7

    11

    Returns: 116857368

  157. 13

    8

    3

    Returns: 32376960

  158. 13

    1

    8

    Returns: 495

  159. 14

    0

    0

    Returns: 1

  160. 14

    13

    0

    Returns: 0

  161. 14

    0

    1

    Returns: 0

  162. 14

    13

    13

    Returns: 1

  163. 14

    3

    12

    Returns: 6217523

  164. 14

    2

    3

    Returns: 290862

  165. 14

    7

    13

    Returns: 2275172004

  166. 14

    3

    2

    Returns: 12064494

  167. 14

    8

    6

    Returns: 917857512

  168. 15

    0

    0

    Returns: 1

  169. 15

    14

    0

    Returns: 0

  170. 15

    0

    1

    Returns: 0

  171. 15

    14

    14

    Returns: 1

  172. 15

    9

    11

    Returns: 6808511892

  173. 15

    11

    1

    Returns: 20716164

  174. 15

    1

    0

    Returns: 16369

  175. 15

    1

    11

    Returns: 364

  176. 15

    12

    5

    Returns: 1057056

  177. 16

    0

    0

    Returns: 1

  178. 16

    15

    0

    Returns: 0

  179. 16

    0

    1

    Returns: 0

  180. 16

    15

    15

    Returns: 1

  181. 16

    9

    6

    Returns: 200590204815

  182. 16

    11

    7

    Returns: 5324138820

  183. 16

    5

    13

    Returns: 49225573425

  184. 16

    13

    2

    Returns: 858795

  185. 16

    10

    3

    Returns: 48934105675

  186. 17

    0

    0

    Returns: 1

  187. 17

    16

    0

    Returns: 0

  188. 17

    0

    1

    Returns: 0

  189. 17

    16

    16

    Returns: 1

  190. 17

    9

    4

    Returns: 4895505762420

  191. 17

    6

    14

    Returns: 1849800604560

  192. 17

    5

    5

    Returns: 337016451408

  193. 17

    11

    11

    Returns: 337016451408

  194. 17

    15

    5

    Returns: 4368

  195. 18

    0

    0

    Returns: 1

  196. 18

    17

    0

    Returns: 0

  197. 18

    0

    1

    Returns: 0

  198. 18

    17

    17

    Returns: 1

  199. 18

    8

    5

    Returns: 103660861127460

  200. 18

    13

    13

    Returns: 147322940100

  201. 18

    9

    13

    Returns: 103571963386500

  202. 18

    7

    9

    Returns: 55931879316170

  203. 18

    10

    15

    Returns: 56326385238104

  204. 19

    0

    0

    Returns: 1

  205. 19

    18

    0

    Returns: 0

  206. 19

    0

    1

    Returns: 0

  207. 19

    18

    18

    Returns: 1

  208. 19

    12

    2

    Returns: 132727309797744

  209. 19

    10

    12

    Returns: 1466882440737168

  210. 19

    1

    17

    Returns: 18

  211. 19

    15

    12

    Returns: 13204647456

  212. 19

    17

    5

    Returns: 8568

  213. 20

    0

    0

    Returns: 1

  214. 20

    19

    0

    Returns: 0

  215. 20

    0

    1

    Returns: 0

  216. 20

    19

    19

    Returns: 1

  217. 20

    14

    14

    Returns: 93376455494040

  218. 20

    3

    4

    Returns: 54981145272

  219. 20

    18

    7

    Returns: 50388

  220. 20

    2

    19

    Returns: 524268

  221. 20

    2

    17

    Returns: 22410405

  222. 20

    2

    0

    Returns: 1151775897

  223. 20

    2

    13

    Returns: 223432020

  224. 20

    3

    0

    Returns: 251732291184

  225. 20

    3

    6

    Returns: 52803592968

  226. 20

    6

    0

    Returns: 2527925001876036

  227. 20

    6

    9

    Returns: 1079711852655436

  228. 20

    11

    0

    Returns: 11485644635009424

  229. 20

    11

    17

    Returns: 19526981818872618

  230. 20

    13

    0

    Returns: 278794377854832

  231. 20

    13

    18

    Returns: 768689550213368

  232. 20

    15

    0

    Returns: 251732291184

  233. 20

    15

    17

    Returns: 2565372860370

  234. 20

    17

    0

    Returns: 524268

  235. 20

    17

    16

    Returns: 63491787

  236. 20

    19

    0

    Returns: 0

  237. 20

    19

    12

    Returns: 0

  238. 20

    10

    0

    Returns: 27862280567093358

  239. 20

    11

    7

    Returns: 19426402481860296

  240. 20

    10

    10

    Returns: 33978309097618600

  241. 20

    10

    3

    Returns: 34032711993560508

  242. 20

    7

    0

    Returns: 11485644635009424

  243. 20

    9

    9

    Returns: 33978309097618600

  244. 20

    10

    4

    Returns: 33962888646873552


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: