Statistics

Problem Statement for "BeautifulHexagonalTilings"

Problem Statement

Consider a hexagonal grid with 6 sides, with the side lengths given by the int[] s (in the clockwise order), as shown in the following picture:

Count the number of ways to color each cell with one of two colors, black or white, such that every non-border black cell has exactly a black neighbors, and every non-border white cell has exactly b white neighbors (a cell is called non-border if and only if it has exactly 6 neighbors in the grid).

Definition

Class:
BeautifulHexagonalTilings
Method:
howMany
Parameters:
int[], int, int
Returns:
int
Method signature:
int howMany(int[] s, int a, int b)
(be sure your method is public)

Constraints

  • s will contain exactly 6 elements.
  • Each element of s will be between 2 and 6, inclusive.
  • a and b will each be between 0 and 6, inclusive.
  • s will define a valid hexagonal grid.
  • The answer will always fit into an int.

Examples

  1. {2,2,2,2,2,2}

    6

    6

    Returns: 2

    Either all white or all black.

  2. {6,6,6,6,6,6}

    6

    6

    Returns: 2

    The field is bigger, but still all white or all black.

  3. {2,2,2,2,2,2}

    2

    2

    Returns: 30

  4. {4,4,3,5,3,4}

    4

    1

    Returns: 213

    The grid from the picture.

  5. {6,6,6,6,6,6}

    2

    2

    Returns: 7926

  6. {5,6,6,5,6,6}

    2

    2

    Returns: 5526

  7. {2,2,2,2,2,2}

    0

    0

    Returns: 2

  8. {4,2,5,2,4,3}

    0

    0

    Returns: 0

  9. {2,2,2,2,2,2}

    1

    0

    Returns: 7

  10. {2,2,3,2,2,3}

    1

    0

    Returns: 1

  11. {5,2,4,4,3,3}

    0

    1

    Returns: 0

  12. {2,2,2,2,2,2}

    2

    0

    Returns: 16

  13. {2,3,2,3,2,3}

    2

    0

    Returns: 4

  14. {4,4,2,6,2,4}

    0

    2

    Returns: 0

  15. {2,2,2,2,2,2}

    3

    0

    Returns: 21

  16. {6,2,5,3,5,2}

    3

    0

    Returns: 20

  17. {3,5,2,5,3,4}

    3

    0

    Returns: 11

  18. {2,2,2,2,2,2}

    0

    4

    Returns: 16

  19. {6,6,6,6,6,6}

    0

    4

    Returns: 552

  20. {3,3,3,4,2,4}

    0

    4

    Returns: 66

  21. {2,2,2,2,2,2}

    5

    0

    Returns: 7

  22. {2,3,4,2,3,4}

    0

    5

    Returns: 24

  23. {4,5,5,3,6,4}

    5

    0

    Returns: 16

  24. {2,2,2,2,2,2}

    0

    6

    Returns: 2

  25. {3,6,5,3,6,5}

    0

    6

    Returns: 1

  26. {4,5,4,4,5,4}

    6

    0

    Returns: 1

  27. {2,2,2,2,2,2}

    1

    1

    Returns: 12

  28. {2,2,3,2,2,3}

    1

    1

    Returns: 6

  29. {3,5,6,3,5,6}

    1

    1

    Returns: 0

  30. {2,2,2,2,2,2}

    2

    1

    Returns: 21

  31. {3,2,5,3,2,5}

    2

    1

    Returns: 1

  32. {6,2,4,5,3,3}

    2

    1

    Returns: 0

  33. {2,2,2,2,2,2}

    3

    1

    Returns: 26

  34. {5,5,6,5,5,6}

    3

    1

    Returns: 432

  35. {5,2,3,4,3,2}

    3

    1

    Returns: 248

  36. {2,2,2,2,2,2}

    1

    4

    Returns: 21

  37. {5,3,2,6,2,3}

    1

    4

    Returns: 443

  38. {5,4,5,3,6,3}

    4

    1

    Returns: 172

  39. {2,2,2,2,2,2}

    5

    1

    Returns: 12

  40. {6,3,2,6,3,2}

    5

    1

    Returns: 25

  41. {6,3,6,4,5,4}

    1

    5

    Returns: 0

  42. {2,2,2,2,2,2}

    6

    1

    Returns: 7

  43. {3,4,3,2,5,2}

    1

    6

    Returns: 1

  44. {3,4,5,3,4,5}

    6

    1

    Returns: 1

  45. {2,2,2,2,2,2}

    2

    2

    Returns: 30

  46. {6,4,3,6,4,3}

    2

    2

    Returns: 1592

  47. {2,6,5,3,5,6}

    2

    2

    Returns: 2214

  48. {2,2,2,2,2,2}

    2

    3

    Returns: 35

  49. {3,6,5,3,6,5}

    2

    3

    Returns: 637

  50. {3,6,5,3,6,5}

    3

    2

    Returns: 637

  51. {2,2,2,2,2,2}

    2

    4

    Returns: 30

  52. {4,5,3,6,3,5}

    2

    4

    Returns: 40

  53. {3,5,4,5,3,6}

    2

    4

    Returns: 40

  54. {2,2,2,2,2,2}

    2

    5

    Returns: 21

  55. {5,3,2,5,3,2}

    2

    5

    Returns: 18

  56. {6,5,6,5,6,5}

    5

    2

    Returns: 0

  57. {2,2,2,2,2,2}

    6

    2

    Returns: 16

  58. {6,4,6,4,6,4}

    6

    2

    Returns: 1

  59. {2,5,3,5,2,6}

    2

    6

    Returns: 1

  60. {2,2,2,2,2,2}

    3

    3

    Returns: 40

  61. {5,2,2,5,2,2}

    3

    3

    Returns: 672

  62. {5,2,4,3,4,2}

    3

    3

    Returns: 240

  63. {2,2,2,2,2,2}

    3

    4

    Returns: 35

  64. {2,2,6,2,2,6}

    3

    4

    Returns: 717

  65. {2,4,3,4,2,5}

    4

    3

    Returns: 77

  66. {2,2,2,2,2,2}

    3

    5

    Returns: 26

  67. {3,2,2,3,2,2}

    3

    5

    Returns: 41

  68. {3,5,2,5,3,4}

    3

    5

    Returns: 0

  69. {2,2,2,2,2,2}

    6

    3

    Returns: 21

  70. {6,6,3,6,6,3}

    3

    6

    Returns: 1

  71. {6,5,6,6,5,6}

    3

    6

    Returns: 1

  72. {2,2,2,2,2,2}

    4

    4

    Returns: 30

  73. {3,3,2,4,2,3}

    4

    4

    Returns: 34

  74. {5,5,5,6,4,6}

    4

    4

    Returns: 12

  75. {2,2,2,2,2,2}

    4

    5

    Returns: 21

  76. {2,3,3,2,3,3}

    4

    5

    Returns: 33

  77. {6,2,4,6,2,4}

    4

    5

    Returns: 0

  78. {2,2,2,2,2,2}

    4

    6

    Returns: 16

  79. {3,3,4,4,2,5}

    4

    6

    Returns: 1

  80. {3,5,5,3,5,5}

    4

    6

    Returns: 1

  81. {2,2,2,2,2,2}

    5

    5

    Returns: 12

  82. {3,5,2,3,5,2}

    5

    5

    Returns: 28

  83. {3,2,4,2,3,3}

    5

    5

    Returns: 20

  84. {2,2,2,2,2,2}

    6

    5

    Returns: 7

  85. {2,6,3,5,3,6}

    6

    5

    Returns: 1

  86. {2,5,3,3,4,4}

    5

    6

    Returns: 1

  87. {2,2,2,2,2,2}

    6

    6

    Returns: 2

  88. {4,4,6,3,5,5}

    6

    6

    Returns: 2

  89. {5,4,6,3,6,4}

    6

    6

    Returns: 2

  90. {6,5,5,6,5,5}

    2

    2

    Returns: 3638

  91. {4,4,5,3,5,4}

    2

    2

    Returns: 898

  92. {3,5,3,5,3,5}

    2

    2

    Returns: 770

  93. {6,6,5,6,6,5}

    2

    2

    Returns: 5526

  94. {6,5,5,5,6,4}

    2

    2

    Returns: 3046

  95. {5,5,4,4,6,3}

    2

    2

    Returns: 1540

  96. {3,3,5,4,2,6}

    2

    2

    Returns: 954

  97. {6,5,5,5,6,4}

    2

    2

    Returns: 3046

  98. {4,5,5,4,5,5}

    2

    2

    Returns: 1598

  99. {3,5,4,4,4,5}

    2

    2

    Returns: 898

  100. {6,6,6,6,6,6}

    2

    2

    Returns: 7926

  101. {6,6,3,6,6,3}

    2

    2

    Returns: 3862

  102. {4,5,3,5,4,4}

    2

    2

    Returns: 898

  103. {4,6,4,4,6,4}

    2

    2

    Returns: 1938

  104. {4,5,6,4,5,6}

    2

    2

    Returns: 2724

  105. {6,5,6,5,6,5}

    2

    2

    Returns: 4322

  106. {4,4,4,4,4,4}

    2

    2

    Returns: 654

  107. {4,4,4,4,4,4}

    2

    2

    Returns: 654

  108. {5,3,3,5,3,3}

    2

    2

    Returns: 594

  109. {5,4,3,6,3,4}

    2

    2

    Returns: 1118

  110. {2, 2, 2, 2, 2, 2 }

    2

    2

    Returns: 30

  111. {5, 4, 2, 5, 4, 2 }

    2

    2

    Returns: 736

  112. {6, 6, 6, 6, 6, 6 }

    2

    2

    Returns: 7926


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: