Statistics

Problem Statement for "BasePlacement"

Problem Statement

Time limit for this problem is 3 seconds.

This problem is about a plan-conquering board game. The board is a rectangle divided into R times C cells. The cells have coordinates (0, 0) to (R-1, C-1). Cells are adjacent if they share a side.

Each cell may contain a base. There can be at most one base per cell. Bases cannot be adjacent. Additionally, there cannot be any cell that would be adjacent to more than one base.

It is now our turn. Our strategy for the game dictates that we should place at least B bases in our first turn. In how many ways can we do that? Return that count modulo 10^9 + 7.

Definition

Class:
BasePlacement
Method:
count
Parameters:
int, int, int
Returns:
int
Method signature:
int count(int R, int C, int B)
(be sure your method is public)

Constraints

  • R and C will be positive.
  • R * C will not exceed 190.
  • B will be between 0 and R*C, inclusive.

Examples

  1. 2

    3

    1

    Returns: 8

    We can either place one base (2*3 = 6 options), or two bases. There are two ways to place two bases: they have to go into two opposite corners of the board.

  2. 8

    10

    2

    Returns: 744999783

    There are exactly 2,744,999,797 ways to place at least two bases onto this board. Remember that 744,999,783 is that count modulo 10^9 + 7.

  3. 10

    10

    47

    Returns: 0

    There is no way to fit 47 bases onto this board, and it's not even close.

  4. 1

    1

    1

    Returns: 1

  5. 13

    14

    1

    Returns: 218018740

  6. 2

    95

    48

    Returns: 2

  7. 1

    190

    60

    Returns: 427221125

  8. 190

    1

    65

    Returns: 0

  9. 1

    190

    64

    Returns: 1

  10. 2

    95

    2

    Returns: 805026804

  11. 31

    4

    24

    Returns: 58630344

  12. 18

    10

    10

    Returns: 785334080

  13. 5

    38

    30

    Returns: 182594370

  14. 10

    19

    1

    Returns: 566411248

  15. 63

    3

    17

    Returns: 177471408

  16. 13

    9

    9

    Returns: 866215656

  17. 35

    2

    9

    Returns: 327222570

  18. 10

    19

    28

    Returns: 486728135

  19. 9

    9

    4

    Returns: 499650533

  20. 12

    15

    2

    Returns: 864444041

  21. 4

    47

    36

    Returns: 330812894

  22. 2

    95

    5

    Returns: 762165962

  23. 63

    3

    1

    Returns: 874140738

  24. 10

    4

    4

    Returns: 98157

  25. 14

    8

    12

    Returns: 385521969

  26. 15

    12

    3

    Returns: 864428878

  27. 13

    14

    1

    Returns: 218018740

  28. 5

    38

    47

    Returns: 0

  29. 13

    1

    2

    Returns: 175

  30. 5

    38

    2

    Returns: 328832162

  31. 21

    9

    37

    Returns: 2493514

  32. 7

    16

    9

    Returns: 951874974

  33. 12

    9

    8

    Returns: 866544501

  34. 7

    27

    22

    Returns: 790277436

  35. 190

    1

    7

    Returns: 518065660

  36. 6

    31

    37

    Returns: 26656242

  37. 8

    23

    21

    Returns: 690859835

  38. 6

    22

    10

    Returns: 281950515

  39. 17

    11

    1

    Returns: 331542419

  40. 10

    19

    25

    Returns: 981709542

  41. 18

    6

    19

    Returns: 845319897

  42. 10

    13

    9

    Returns: 573091930

  43. 12

    15

    16

    Returns: 363813840

  44. 17

    11

    31

    Returns: 101621008

  45. 6

    17

    13

    Returns: 167765927

  46. 10

    14

    18

    Returns: 31134897

  47. 14

    6

    6

    Returns: 221496801

  48. 1

    190

    23

    Returns: 376944756

  49. 10

    8

    7

    Returns: 706298535

  50. 63

    3

    28

    Returns: 966316570

  51. 17

    11

    15

    Returns: 865260077

  52. 190

    1

    2

    Returns: 564472595

  53. 21

    9

    33

    Returns: 46668436

  54. 27

    7

    1

    Returns: 701225175

  55. 13

    14

    34

    Returns: 628513381

  56. 8

    23

    17

    Returns: 122220896

  57. 3

    7

    2

    Returns: 583

  58. 47

    4

    31

    Returns: 619576015

  59. 13

    13

    16

    Returns: 873805003

  60. 14

    13

    33

    Returns: 329341830

  61. 17

    11

    26

    Returns: 250670948

  62. 6

    27

    2

    Returns: 73456882

  63. 31

    6

    35

    Returns: 236306958

  64. 27

    7

    2

    Returns: 701224986

  65. 8

    23

    1

    Returns: 892843274

  66. 14

    13

    2

    Returns: 218018558

  67. 54

    2

    20

    Returns: 867349658

  68. 21

    9

    6

    Returns: 848150698

  69. 8

    1

    1

    Returns: 27

  70. 21

    9

    1

    Returns: 939031179

  71. 4

    47

    1

    Returns: 830745458

  72. 11

    8

    11

    Returns: 278499046

  73. 124

    1

    10

    Returns: 261661278

  74. 31

    3

    7

    Returns: 208405458

  75. 31

    6

    2

    Returns: 175287632

  76. 13

    14

    27

    Returns: 878949660

  77. 10

    13

    17

    Returns: 686298483

  78. 11

    12

    26

    Returns: 100430

  79. 12

    13

    19

    Returns: 697559159

  80. 95

    2

    1

    Returns: 805026994

  81. 1

    1

    0

    Returns: 2


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: