Statistics

Problem Statement for "BoxWorld"

Problem Statement

We have a table. The horizontal surface of the table is a rectangle divided into R times C unit squares.

We also have N identical white unit cubes.

We want to place all unit cubes onto the table. Each unit cube must be placed either exactly onto one of the unit squares on the table, or exactly onto the top face of another, previously placed cube.

Once we have the final arrangement built, we will paint all visible faces of all the cubes red.

We want to maximize the number of red faces. Count all arrangements of cubes that maximize this number, and return that count modulo (10^9 + 7).

Definition

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

Notes

  • The order in which we build the arrangement of cubes does not matter. We are only counting the final configurations of all N identical cubes.

Constraints

  • R will be between 1 and 14, inclusive.
  • C will be between 1 and 14, inclusive.
  • N will be between 1 and 100,000, inclusive.

Examples

  1. 7

    10

    1

    Returns: 70

    A 7x10 table and a single cube. We have 7x10 distinct options where to place it. Each of them is optimal: the cube will have one face touching the table and five visible faces.

  2. 1

    1

    47

    Returns: 1

    The only valid arrangement of cubes (and therefore the optimal one) is a stack of 47 cubes placed onto the only square on the table. There are 46*4 + 5 visible cube faces.

  3. 1

    3

    2

    Returns: 1

    The table is 1x3 and we have two cubes. There is a unique optimal solution: the two cubes should stand on the opposite ends of the table. This is the only configuration for which there are 10 visible cube faces.

  4. 4

    6

    3

    Returns: 1276

  5. 1

    1

    1

    Returns: 1

  6. 1

    1

    2

    Returns: 1

  7. 1

    1

    3

    Returns: 1

  8. 1

    1

    4

    Returns: 1

  9. 1

    2

    1

    Returns: 2

  10. 1

    2

    2

    Returns: 2

  11. 1

    2

    3

    Returns: 2

  12. 1

    2

    4

    Returns: 2

  13. 1

    3

    1

    Returns: 3

  14. 1

    3

    2

    Returns: 1

  15. 1

    3

    3

    Returns: 2

  16. 1

    3

    4

    Returns: 3

  17. 1

    4

    1

    Returns: 4

  18. 1

    4

    2

    Returns: 3

  19. 1

    4

    3

    Returns: 6

  20. 1

    4

    4

    Returns: 9

  21. 2

    1

    1

    Returns: 2

  22. 2

    1

    2

    Returns: 2

  23. 2

    1

    3

    Returns: 2

  24. 2

    1

    4

    Returns: 2

  25. 2

    2

    1

    Returns: 4

  26. 2

    2

    2

    Returns: 2

  27. 2

    2

    3

    Returns: 4

  28. 2

    2

    4

    Returns: 6

  29. 2

    3

    1

    Returns: 6

  30. 2

    3

    2

    Returns: 8

  31. 2

    3

    3

    Returns: 2

  32. 2

    3

    4

    Returns: 6

  33. 2

    4

    1

    Returns: 8

  34. 2

    4

    2

    Returns: 18

  35. 2

    4

    3

    Returns: 12

  36. 2

    4

    4

    Returns: 2

  37. 3

    1

    1

    Returns: 3

  38. 3

    1

    2

    Returns: 1

  39. 3

    1

    3

    Returns: 2

  40. 3

    1

    4

    Returns: 3

  41. 3

    2

    1

    Returns: 6

  42. 3

    2

    2

    Returns: 8

  43. 3

    2

    3

    Returns: 2

  44. 3

    2

    4

    Returns: 6

  45. 3

    3

    1

    Returns: 9

  46. 3

    3

    2

    Returns: 24

  47. 3

    3

    3

    Returns: 22

  48. 3

    3

    4

    Returns: 6

  49. 3

    4

    1

    Returns: 12

  50. 3

    4

    2

    Returns: 49

  51. 3

    4

    3

    Returns: 84

  52. 3

    4

    4

    Returns: 61

  53. 4

    1

    1

    Returns: 4

  54. 4

    1

    2

    Returns: 3

  55. 4

    1

    3

    Returns: 6

  56. 4

    1

    4

    Returns: 9

  57. 4

    2

    1

    Returns: 8

  58. 4

    2

    2

    Returns: 18

  59. 4

    2

    3

    Returns: 12

  60. 4

    2

    4

    Returns: 2

  61. 4

    3

    1

    Returns: 12

  62. 4

    3

    2

    Returns: 49

  63. 4

    3

    3

    Returns: 84

  64. 4

    3

    4

    Returns: 61

  65. 4

    4

    1

    Returns: 16

  66. 4

    4

    2

    Returns: 96

  67. 4

    4

    3

    Returns: 276

  68. 4

    4

    4

    Returns: 405

  69. 1

    7

    72567

    Returns: 1702472

  70. 9

    1

    67168

    Returns: 703171215

  71. 8

    1

    4

    Returns: 5

  72. 1

    12

    1

    Returns: 12

  73. 6

    1

    2

    Returns: 10

  74. 11

    1

    2

    Returns: 45

  75. 10

    1

    31726

    Returns: 266338043

  76. 2

    1

    78772

    Returns: 2

  77. 1

    7

    1

    Returns: 7

  78. 4

    1

    2

    Returns: 3

  79. 11

    1

    12727

    Returns: 759796051

  80. 1

    12

    28647

    Returns: 161322067

  81. 1

    9

    79254

    Returns: 867604272

  82. 7

    1

    3

    Returns: 10

  83. 1

    7

    40922

    Returns: 724361247

  84. 11

    1

    95711

    Returns: 547150423

  85. 1

    10

    2

    Returns: 36

  86. 8

    1

    79105

    Returns: 984068202

  87. 1

    10

    1992

    Returns: 656686558

  88. 1

    4

    2

    Returns: 3

  89. 10

    11

    15329

    Returns: 910524176

  90. 7

    2

    63688

    Returns: 987916155

  91. 12

    7

    37

    Returns: 3129412

  92. 5

    5

    175

    Returns: 608212426

  93. 4

    9

    5

    Returns: 130318

  94. 3

    4

    913

    Returns: 472881344

  95. 3

    6

    2

    Returns: 126

  96. 8

    3

    3

    Returns: 1292

  97. 2

    4

    4

    Returns: 2

  98. 5

    9

    1044

    Returns: 174980132

  99. 3

    4

    5

    Returns: 18

  100. 7

    12

    40

    Returns: 1942

  101. 5

    2

    4

    Returns: 16

  102. 3

    6

    9

    Returns: 2

  103. 6

    5

    9

    Returns: 67664

  104. 11

    6

    32

    Returns: 70

  105. 7

    10

    8

    Returns: 933167722

  106. 8

    8

    52613

    Returns: 531253926

  107. 11

    9

    5

    Returns: 48690312

  108. 10

    3

    3906

    Returns: 821228816

  109. 2

    8

    5

    Returns: 360

  110. 9

    10

    16

    Returns: 369058778

  111. 7

    7

    15

    Returns: 75497964

  112. 2

    11

    11

    Returns: 2

  113. 9

    9

    2145

    Returns: 864872174

  114. 10

    5

    3

    Returns: 15734

  115. 10

    9

    4

    Returns: 1987387

  116. 10

    11

    882

    Returns: 788380820

  117. 11

    6

    11548

    Returns: 688793902

  118. 12

    3

    17

    Returns: 58

  119. 14

    14

    98

    Returns: 2

  120. 14

    14

    97

    Returns: 200

  121. 14

    14

    96

    Returns: 9968

  122. 14

    14

    93

    Returns: 162730840

  123. 13

    11

    976

    Returns: 216317011

  124. 13

    13

    138

    Returns: 618244581

  125. 14

    11

    1

    Returns: 154

  126. 13

    14

    41

    Returns: 987094611

  127. 14

    12

    67

    Returns: 820726412

  128. 13

    14

    5

    Returns: 276225571

  129. 13

    13

    712

    Returns: 393130702

  130. 12

    11

    43

    Returns: 145038569

  131. 11

    13

    770

    Returns: 489532876

  132. 11

    12

    31

    Returns: 151970932

  133. 11

    14

    3220

    Returns: 333272275

  134. 12

    13

    553

    Returns: 365598932

  135. 14

    13

    46

    Returns: 24040737

  136. 11

    12

    385

    Returns: 242578468

  137. 12

    14

    22

    Returns: 837588306

  138. 11

    11

    999

    Returns: 328901243

  139. 14

    13

    78

    Returns: 136512080

  140. 13

    14

    17112

    Returns: 173479670

  141. 12

    12

    175

    Returns: 713853809

  142. 12

    14

    17

    Returns: 227161013

  143. 11

    12

    913

    Returns: 372032695

  144. 11

    13

    2

    Returns: 9891

  145. 14

    11

    3

    Returns: 554666

  146. 11

    12

    66

    Returns: 2

  147. 14

    12

    976

    Returns: 493804066

  148. 11

    11

    54

    Returns: 727867212

  149. 12

    13

    31

    Returns: 534760555

  150. 11

    14

    3

    Returns: 554666

  151. 11

    13

    71

    Returns: 73

  152. 13

    12

    71

    Returns: 211359362

  153. 13

    11

    70

    Returns: 2657

  154. 11

    14

    102

    Returns: 177118828

  155. 14

    12

    66

    Returns: 659319717

  156. 11

    14

    16969

    Returns: 333430403

  157. 14

    11

    16223

    Returns: 337317217

  158. 11

    12

    13616

    Returns: 156076388

  159. 12

    14

    76

    Returns: 418794787

  160. 11

    14

    33

    Returns: 791413610

  161. 12

    13

    34

    Returns: 463861427

  162. 14

    14

    93

    Returns: 162730840

  163. 14

    14

    66

    Returns: 193300873


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: