Statistics

Problem Statement for "DerangementsDiv2"

Problem Statement

You are given two ints: n and m.

Let D be the number of permutations of the set {1,2,...,n+m} such that the first m values are not fixed points of the permutation. Formally, we are interested in permutations p such that for each j between 1 and m, inclusive, we have p(j) != j.

Compute and return D modulo 1,000,000,007.

Definition

Class:
DerangementsDiv2
Method:
count
Parameters:
int, int
Returns:
int
Method signature:
int count(int n, int m)
(be sure your method is public)

Constraints

  • n will be between 0 and 50, inclusive.
  • m will be between 1 and 50, inclusive.

Examples

  1. 0

    2

    Returns: 1

    Here we are looking for permutations of {1, 2} such that p(1) != 1 and p(2) != 2. There is only one such permutation: the permutation (2, 1). In other words, the permutation p such that p(1) = 2 and p(2) = 1.

  2. 2

    1

    Returns: 4

    Here we are counting permutations of {1, 2, 3} such that p(1) != 1. There are four such permutations: (2, 1, 3), (2, 3, 1), (3, 1, 2), and (3, 2, 1). Here, (a, b, c) denotes a permutation p for which p(1) = a, p(2) = b, and p(3) = c.

  3. 1

    2

    Returns: 3

    This time we want permutations of {1, 2, 3} such that p(1) != 1 and p(2) != 2. The three such permutations are (2, 1, 3), (2, 3, 1), and (3, 1, 2).

  4. 2

    2

    Returns: 14

  5. 3

    5

    Returns: 21234

  6. 20

    27

    Returns: 88437461

    Watch out for integer overflow.

  7. 50

    50

    Returns: 427946384

  8. 0

    50

    Returns: 77829876

  9. 50

    1

    Returns: 930402295

  10. 49

    17

    Returns: 986740599

  11. 25

    25

    Returns: 817855208

  12. 13

    22

    Returns: 258396166

  13. 34

    39

    Returns: 899558903

  14. 49

    9

    Returns: 597962015

  15. 15

    37

    Returns: 329517643

  16. 30

    11

    Returns: 37135753

  17. 46

    39

    Returns: 316806104

  18. 10

    9

    Returns: 278555994

  19. 0

    37

    Returns: 610952631

  20. 11

    12

    Returns: 318773240

  21. 11

    42

    Returns: 916998426

  22. 36

    37

    Returns: 749982167

  23. 20

    26

    Returns: 997672421

  24. 14

    48

    Returns: 444025966

  25. 24

    33

    Returns: 1025561

  26. 9

    39

    Returns: 45786149

  27. 21

    46

    Returns: 605052952

  28. 31

    48

    Returns: 391386112

  29. 13

    29

    Returns: 606458569

  30. 42

    9

    Returns: 375009981

  31. 12

    16

    Returns: 752997011

  32. 14

    5

    Returns: 804909504

  33. 46

    50

    Returns: 984930483

  34. 28

    31

    Returns: 673262318

  35. 13

    3

    Returns: 74516015

  36. 24

    37

    Returns: 895534910

  37. 11

    20

    Returns: 922263646

  38. 15

    31

    Returns: 110489376

  39. 49

    21

    Returns: 458636027

  40. 16

    34

    Returns: 487249080

  41. 43

    44

    Returns: 369811952

  42. 5

    10

    Returns: 166851858

  43. 24

    33

    Returns: 1025561

  44. 23

    14

    Returns: 196891069

  45. 18

    37

    Returns: 377740773

  46. 29

    30

    Returns: 329922048

  47. 33

    17

    Returns: 780587842

  48. 29

    17

    Returns: 638882845

  49. 8

    36

    Returns: 977378805

  50. 42

    28

    Returns: 175748333

  51. 28

    36

    Returns: 584381000

  52. 14

    14

    Returns: 603658263

  53. 50

    20

    Returns: 621479913

  54. 45

    5

    Returns: 727886904

  55. 21

    22

    Returns: 448902841

  56. 28

    49

    Returns: 638146078

  57. 26

    14

    Returns: 786050835

  58. 18

    8

    Returns: 550574287

  59. 8

    34

    Returns: 549985104

  60. 23

    25

    Returns: 13411071

  61. 50

    37

    Returns: 67128318

  62. 49

    14

    Returns: 42103866

  63. 5

    2

    Returns: 3720

  64. 34

    22

    Returns: 912252945

  65. 9

    4

    Returns: 536362852

  66. 14

    10

    Returns: 403920293

  67. 38

    30

    Returns: 408554922

  68. 40

    19

    Returns: 505776858

  69. 33

    5

    Returns: 445053785

  70. 19

    28

    Returns: 530873350

  71. 17

    29

    Returns: 679866230

  72. 12

    46

    Returns: 662526033

  73. 48

    35

    Returns: 963749168

  74. 46

    16

    Returns: 42613958

  75. 32

    35

    Returns: 540219593

  76. 36

    5

    Returns: 749691064

  77. 39

    12

    Returns: 411778963

  78. 29

    44

    Returns: 801226687

  79. 31

    28

    Returns: 927505571

  80. 42

    50

    Returns: 566689009

  81. 37

    36

    Returns: 17103005

  82. 26

    45

    Returns: 942769424

  83. 11

    5

    Returns: 285736828

  84. 43

    24

    Returns: 244411007

  85. 29

    39

    Returns: 340737674

  86. 23

    18

    Returns: 405744622

  87. 21

    9

    Returns: 868911045

  88. 20

    35

    Returns: 406482058

  89. 27

    3

    Returns: 711564780

  90. 13

    16

    Returns: 207162714

  91. 47

    37

    Returns: 449705363

  92. 36

    29

    Returns: 789199291

  93. 4

    17

    Returns: 342884667

  94. 19

    31

    Returns: 61788753

  95. 42

    9

    Returns: 375009981

  96. 30

    32

    Returns: 328934328

  97. 12

    13

    Returns: 190839933

  98. 45

    48

    Returns: 802599441

  99. 5

    18

    Returns: 9961204

  100. 49

    14

    Returns: 42103866

  101. 44

    9

    Returns: 98926489

  102. 39

    41

    Returns: 628516574

  103. 17

    29

    Returns: 679866230

  104. 18

    40

    Returns: 213526041

  105. 6

    27

    Returns: 264021687

  106. 37

    32

    Returns: 595865995

  107. 45

    34

    Returns: 42405906

  108. 28

    30

    Returns: 656659737

  109. 8

    42

    Returns: 584566549

  110. 49

    28

    Returns: 338823704

  111. 22

    26

    Returns: 268263153

  112. 37

    37

    Returns: 382151168

  113. 17

    18

    Returns: 900700485

  114. 39

    45

    Returns: 899439350

  115. 41

    23

    Returns: 186678214

  116. 37

    9

    Returns: 802141913

  117. 50

    19

    Returns: 673964288

  118. 32

    29

    Returns: 481577493

  119. 12

    14

    Returns: 179380061

  120. 49

    48

    Returns: 26448153

  121. 50

    25

    Returns: 225531341

  122. 33

    45

    Returns: 180049669

  123. 34

    1

    Returns: 71258146


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: