Statistics

Problem Statement for "BuildingWalls"

Problem Statement

Building walls with bricks can sometimes be fun, but not in this problem. You have several bricks, some of which are 2 units wide and some of which are 3 units wide. All the bricks are 1 unit high. Your objective is to build a perfect rectangular wall with no empty spaces inside. You can stack the bricks in any pattern you want, but you are not allowed to rotate them. You are not required to use all your bricks.

You are given ints twoBricks and threeBricks, the number of 2 unit wide and 3 unit wide bricks you have, respectively. Return the total number of different perfect walls you can build. Two walls are considered different if at least one of their dimensions (width or height) is different.

Definition

Class:
BuildingWalls
Method:
countPossibilities
Parameters:
int, int
Returns:
int
Method signature:
int countPossibilities(int twoBricks, int threeBricks)
(be sure your method is public)

Constraints

  • twoBricks and threeBricks will each be between 0 and 100000, inclusive.
  • twoBricks + threeBricks will be at least 1.

Examples

  1. 1

    1

    Returns: 3

    Three different walls of height 1 can be made: One of width 2, one of width 3 and one of width 5.

  2. 2

    2

    Returns: 11

    The following sizes in (width, height) pairs are possible: (2,1), (3,1), (4,1), (5,1), (6,1), (7,1), (8,1), (10,1), (2,2), (3,2), (5,2) .

  3. 8

    0

    Returns: 20

  4. 8

    8

    Returns: 92

  5. 100000

    100000

    Returns: 5825350

  6. 78006

    25459

    Returns: 2536515

  7. 18640

    74827

    Returns: 2739389

  8. 40122

    11407

    Returns: 1166340

  9. 47114

    76696

    Returns: 3586371

  10. 19482

    29530

    Returns: 1294685

  11. 81391

    72977

    Returns: 4347527

  12. 17924

    55637

    Returns: 2094885

  13. 37667

    47837

    Returns: 2351559

  14. 51758

    70228

    Returns: 3483275

  15. 56293

    71637

    Returns: 3650869

  16. 53719

    70856

    Returns: 3556319

  17. 18620

    44778

    Returns: 1762825

  18. 97041

    68396

    Returns: 4573359

  19. 26234

    24029

    Returns: 1278913

  20. 68495

    11433

    Returns: 1798597

  21. 49520

    32247

    Returns: 2104289

  22. 524

    38204

    Returns: 913106

  23. 28122

    51796

    Returns: 2241213

  24. 48089

    97542

    Returns: 4341341

  25. 7032

    80257

    Returns: 2512549

  26. 97662

    4741

    Returns: 2159171

  27. 87834

    19098

    Returns: 2530077

  28. 14517

    26213

    Returns: 1068204

  29. 37226

    39108

    Returns: 2047352

  30. 7600

    52977

    Returns: 1700338

  31. 8072

    39909

    Returns: 1318289

  32. 38219

    11557

    Returns: 1129669

  33. 17611

    23155

    Returns: 1046567

  34. 32453

    85268

    Returns: 3483677

  35. 33129

    67103

    Returns: 2887779

  36. 29460

    58412

    Returns: 2497944

  37. 65434

    52567

    Returns: 3208502

  38. 19467

    96591

    Returns: 3479198

  39. 48376

    24553

    Returns: 1811500

  40. 81416

    10408

    Returns: 2048930

  41. 25021

    80660

    Returns: 3118255

  42. 89699

    48554

    Returns: 3663633

  43. 30051

    30563

    Returns: 1586620

  44. 79839

    32863

    Returns: 2850108

  45. 47977

    16306

    Returns: 1513386

  46. 1910

    13201

    Returns: 363893

  47. 85016

    55841

    Returns: 3811743

  48. 15747

    84146

    Returns: 2952317

  49. 55115

    55140

    Returns: 3047331

  50. 13456

    81314

    Returns: 2785830

  51. 10012

    66261

    Returns: 2192751

  52. 62767

    19868

    Returns: 1978031

  53. 47130

    50548

    Returns: 2684609

  54. 86197

    64639

    Returns: 4162388

  55. 22905

    4834

    Returns: 573216

  56. 96

    21763

    Returns: 430978

  57. 53

    63922

    Returns: 1255529

  58. 80

    60691

    Returns: 1239853

  59. 76

    98902

    Returns: 2058081

  60. 84

    89998

    Returns: 1882335

  61. 37

    97629

    Returns: 1888608

  62. 56

    62268

    Returns: 1229389

  63. 46

    79629

    Returns: 1560527

  64. 83

    44585

    Returns: 900063

  65. 47

    18878

    Returns: 343605

  66. 68

    34665

    Returns: 677833

  67. 58

    31183

    Returns: 596613

  68. 72

    16866

    Returns: 320028

  69. 2

    76834

    Returns: 1068305

  70. 79

    92552

    Returns: 1925789

  71. 11

    99193

    Returns: 1682661

  72. 37

    31505

    Returns: 574110

  73. 27

    41800

    Returns: 747136

  74. 71

    78281

    Returns: 1599113

  75. 11

    61602

    Returns: 1015702

  76. 74

    73284

    Returns: 1499350

  77. 89

    88392

    Returns: 1856359

  78. 65

    12790

    Returns: 236459

  79. 54

    78015

    Returns: 1552080

  80. 50

    37076

    Returns: 704680

  81. 25

    28446

    Returns: 493230

  82. 55

    51749

    Returns: 1009434

  83. 49

    43484

    Returns: 830711

  84. 79

    35323

    Returns: 701557

  85. 82

    67671

    Returns: 1393062

  86. 88

    84689

    Returns: 1774082

  87. 85

    73202

    Returns: 1516965

  88. 67

    51968

    Returns: 1034555

  89. 35

    56266

    Returns: 1051392

  90. 71

    66575

    Returns: 1349341

  91. 77

    20984

    Returns: 405125

  92. 83

    7699

    Returns: 142702

  93. 46

    95638

    Returns: 1891679

  94. 23

    73132

    Returns: 1324579

  95. 83

    16225

    Returns: 311762

  96. 93

    48979

    Returns: 1004577

  97. 37

    19441

    Returns: 345032

  98. 72

    59176

    Returns: 1195008

  99. 26

    44401

    Returns: 794633

  100. 1

    48295

    Returns: 576603

  101. 100

    60749

    Returns: 1268265

  102. 100

    49320

    Returns: 1019619

  103. 7

    76870

    Returns: 1216964

  104. 44

    30761

    Returns: 571187

  105. 40

    61898

    Returns: 1180518

  106. 94429

    57

    Returns: 1534714

  107. 43350

    70

    Returns: 680576

  108. 48214

    92

    Returns: 775508

  109. 26734

    69

    Returns: 406893

  110. 59053

    69

    Returns: 943940

  111. 32448

    85

    Returns: 506977

  112. 25483

    64

    Returns: 384714

  113. 55721

    52

    Returns: 871501

  114. 1909

    32

    Returns: 22972

  115. 82106

    41

    Returns: 1295958

  116. 77247

    81

    Returns: 1267685

  117. 96775

    56

    Returns: 1573468

  118. 6539

    16

    Returns: 80838

  119. 54218

    91

    Returns: 877593

  120. 55557

    55

    Returns: 871952

  121. 78445

    56

    Returns: 1259198

  122. 71728

    89

    Returns: 1178835

  123. 52550

    99

    Returns: 853593

  124. 21214

    54

    Returns: 312777

  125. 8421

    38

    Returns: 113726

  126. 95460

    13

    Returns: 1413167

  127. 83854

    1

    Returns: 1047490

  128. 91046

    79

    Returns: 1506477

  129. 41641

    47

    Returns: 635126

  130. 65361

    50

    Returns: 1029985

  131. 15839

    54

    Returns: 229166

  132. 72135

    88

    Returns: 1185088

  133. 34286

    63

    Returns: 526756

  134. 51712

    59

    Returns: 811649

  135. 99243

    31

    Returns: 1557497

  136. 71978

    85

    Returns: 1179796

  137. 87337

    43

    Returns: 1388053

  138. 64023

    55

    Returns: 1013727

  139. 10441

    52

    Returns: 146610

  140. 189

    2

    Returns: 1327

  141. 86994

    7

    Returns: 1228577

  142. 61111

    13

    Returns: 877498

  143. 90587

    63

    Returns: 1477690

  144. 16561

    30

    Returns: 230182

  145. 77530

    87

    Returns: 1278257

  146. 96349

    39

    Returns: 1531239

  147. 70581

    91

    Returns: 1160485

  148. 50800

    92

    Returns: 819648

  149. 73289

    1

    Returns: 905590

  150. 28394

    18

    Returns: 395129

  151. 43531

    27

    Returns: 641634

  152. 75313

    67

    Returns: 1219568

  153. 8355

    99

    Returns: 121950

  154. 31876

    95

    Returns: 501253

  155. 21657

    29

    Returns: 305887

  156. 0

    1

    Returns: 1

  157. 1

    0

    Returns: 1

  158. 0

    100000

    Returns: 1166750

  159. 100000

    0

    Returns: 1166750

  160. 1

    2

    Returns: 6

  161. 2

    1

    Returns: 6

  162. 1

    100000

    Returns: 1266751

  163. 100000

    2

    Returns: 1316770

  164. 3

    100000

    Returns: 1450105

  165. 100000

    3

    Returns: 1350107

  166. 2

    100000

    Returns: 1416753

  167. 100000

    1

    Returns: 1266751

  168. 99999

    100000

    Returns: 5825305

  169. 100000

    99999

    Returns: 5825283

  170. 3

    2

    Returns: 15

  171. 1234

    3456

    Returns: 97775

  172. 999

    999

    Returns: 35192

  173. 94343

    74733

    Returns: 4739133


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: