Statistics

Problem Statement for "CantorDustEasy"

Problem Statement

Cantor dust is a 2-dimensional fractal constructed in the following way. Initially the fractal is a black square. At each iteration, each square of the fractal is divided into a 3x3 subgrid of equal subsquares. Any black subsquares which belong to the middle row or to the middle column of a subgrid (or to both of them) are painted white.
You are given a String[] pattern which represents a rectangular pattern of black and white squares (represented by 'X' and '.' characters, respectively). Return the number of occurrences of this pattern in Cantor dust at iteration time. Overlapping occurrences are allowed.

Definition

Class:
CantorDustEasy
Method:
occurrencesNumber
Parameters:
String[], int
Returns:
int
Method signature:
int occurrencesNumber(String[] pattern, int time)
(be sure your method is public)

Constraints

  • time will be between 1 and 9, inclusive.
  • pattern will contain between 1 and min(50, 3time) elements, inclusive.
  • Each element of pattern will contain between 1 and min(50, 3time) characters, inclusive.
  • All elements of pattern will contain the same number of characters.
  • Each character in each element of pattern will be '.' or 'X'.
  • pattern will contain at least one 'X' character.

Examples

  1. {"X"}

    1

    Returns: 4

  2. {".X",".."}

    1

    Returns: 1

  3. {"X"}

    2

    Returns: 16

  4. {"X.X"}

    2

    Returns: 8

  5. {"X.X","...","X.X"}

    2

    Returns: 4

  6. {"X...X"}

    2

    Returns: 4

  7. {"X"}

    9

    Returns: 262144

  8. {"XX"}

    9

    Returns: 0

  9. {"X.X","...","X.X"}

    9

    Returns: 65536

  10. {"X.",".."}

    9

    Returns: 261121

  11. {"X.X","...","X.."}

    1

    Returns: 0

  12. {"X.X","...","X.X","...","...","...","X.X"}

    9

    Returns: 32768

  13. {"X..","...","..X","...","...","...","X.X"}

    9

    Returns: 0

  14. {".....",".....","..X..",".....","....."}

    8

    Returns: 0

  15. {"X",".","X",".",".","."}

    9

    Returns: 130560

  16. {"...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","X.X...X.X.........X.X...X.X"}

    3

    Returns: 1

  17. {"...X.X.........X.X...X","......................","...X.X.........X.X...X","......................","......................","......................","...X.X.........X.X...X","......................","...X.X.........X.X...X","......................","......................","......................","......................","......................","......................","......................","......................","......................","...X.X.........X.X...X","......................","...X.X.........X.X...X","......................","......................","......................","...X.X.........X.X...X","......................","...X.X.........X.X...X"}

    3

    Returns: 1

  18. {"...X.X....","..........","..........",".........."}

    3

    Returns: 3

  19. {"...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","..........................."}

    3

    Returns: 1

  20. {".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................","..X.X...X.X.........X",".....................","..X.X...X.X.........X",".....................",".....................",".....................","..X.X...X.X.........X",".....................","..X.X...X.X.........X",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................",".....................","..X.X...X.X.........X",".....................","..X.X...X.X.........X",".....................",".....................","....................."}

    4

    Returns: 1

  21. {"......................................","......................................","......................................","......................................","......................................","......................................","......................................",".....X.X...X.X........................","......................................",".....X.X...X.X........................","......................................","......................................","......................................",".....X.X...X.X........................","......................................",".....X.X...X.X........................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................","......................................",".....X.X...X.X........................"}

    4

    Returns: 1

  22. {".......X.X...X.X........","........................"}

    5

    Returns: 186

  23. {".............................................",".............................................",".............................................","X.X.........X.X...X.X........................",".............................................","X.X.........X.X...X.X........................",".............................................",".............................................",".............................................","X.X.........X.X...X.X........................",".............................................","X.X.........X.X...X.X........................",".............................................",".............................................",".............................................",".............................................",".............................................",".............................................",".............................................",".............................................",".............................................","X.X.........X.X...X.X........................",".............................................","X.X.........X.X...X.X........................",".............................................",".............................................",".............................................","X.X.........X.X...X.X........................",".............................................","X.X.........X.X...X.X........................",".............................................","............................................."}

    5

    Returns: 6

  24. {"............................................","............................................","............................................","............................................","............................................","............................................","............................................","............................................",".....................X.X...X.X.........X.X..","............................................",".....................X.X...X.X.........X.X..","............................................","............................................","............................................",".....................X.X...X.X.........X.X..","............................................",".....................X.X...X.X.........X.X..","............................................","............................................","............................................","............................................","............................................"}

    6

    Returns: 98

  25. {"..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","..........................................","........X.X...X.X.........................","..........................................","........X.X...X.X.........................","..........................................","..........................................","..........................................","........X.X...X.X.........................","..........................................","........X.X...X.X.........................","..........................................","..........................................","..........................................","..........................................","..........................................",".........................................."}

    6

    Returns: 49

  26. {"..........","..........","..........","...X.X....","..........","...X.X....","..........","..........","..........","..........","..........","..........","..........","..........","..........","...X.X....","..........","...X.X....","..........","..........",".........."}

    7

    Returns: 496

  27. {"...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","...........................","X.X...X.X.........X.X...X.X","...........................","...........................","...........................","X.X...X.X.........X.X...X.X","...........................","X.X...X.X.........X.X...X.X"}

    7

    Returns: 256

  28. {"...............................................","...............................................","...............................................","...............................................","...............................................",".X...X.X.........X.X...X.X.....................","...............................................",".X...X.X.........X.X...X.X.....................","...............................................","...............................................","...............................................",".X...X.X.........X.X...X.X.....................","...............................................",".X...X.X.........X.X...X.X.....................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................","...............................................",".X...X.X.........X.X...X.X.....................","..............................................."}

    8

    Returns: 496

  29. {".................................................",".................................................",".................................................","..X.X...........................X.X...X.X........",".................................................","..X.X...........................X.X...X.X........",".................................................","................................................."}

    8

    Returns: 2016

  30. {"X.X...X.X.........X.X..",".......................","X.X...X.X.........X.X..",".......................",".......................",".......................","X.X...X.X.........X.X..",".......................","X.X...X.X.........X.X..",".......................",".......................",".......................",".......................",".......................",".......................",".......................",".......................",".......................","X.X...X.X.........X.X..",".......................","X.X...X.X.........X.X..",".......................",".......................",".......................","X.X...X.X.........X.X..",".......................","X.X...X.X.........X.X.."}

    9

    Returns: 4096

  31. {"..............X...........X","X..X.....X.........X.X....X",".......X.XX..XXX..X.X..X..X","..X......XX........XX.X.XX.","..X.........X...X.........X",".X....X....X......X.XX....X","X...X......X....X..........","......X...X.....X.X........","X.X..X..X.........X........","........X..XXXX.....X.....X",".XXX.X...X..X..............","..X..X..X...............XX.",".X..X......................",".....XXXX......X.....X.....","...........X.....X.X....X..",".X.X.....XXX....X...X......","XX....X....X..X............","XX...X.......XX..XX.......X",".......X....X.........X.X..",".....X..........X...X...X..","X.....X.....X..X......X....","............XXX.........XX.",".X..........X.XX.....X.....",".X.X...X.....X.............","......X.....X.X......X.X.XX","..X...X...X.......XXXX....X","..X........X........X......"}

    3

    Returns: 0

  32. {"...............X....X......","...X..X........X..X..X.....","........X.X........XX......","....XX.X........X..X.......","..X...X.X........X........X","..X.....XX.....X......X....","...........X...............","X.................X..X.X...","...X....XX.X.X............X",".......X.X....X......XX.X.."}

    3

    Returns: 0

  33. {"..X.X......XX.","X.X..X...X....",".X........X...","...X..XX....X.",".X.......X....","..........X...",".....XXX.X....","..X.....X.....","......X.......","..............","..X..X........","........X....X","....X........X","..X...........","X...X..X..X..X",".X............","............X.",".........X....",".........X.X..",".XXX.......XX.",".....X........","...X...X.....X","...X.XXX..X...",".....X........"}

    4

    Returns: 0

  34. {"...X...X............X......X...X...X........X.X",".XX.X..X......X.X....X...............X.X.......",".........X............XX....XX.X.X.XX.....X....",".XX.X.X...........X......XX..X....XX.........X.",".....XXX...X..XX.X..X..............X...........",".......X............X.........X.X..X....X..X.X.",".XX.....X..X..X.....X..........X..X............",".......XXX...........X.X......XX...............","XX......X.X.....X...X.XXX..X.X.X.X.X.......X...","X............XX.......XX......XX....X.X....X...","X....X.............X.....X.................X...","......X..X.....X...XX...X.........X...........X","..............X.......X..........X...X....X....","...XX...............X.................XX..X....","................X...............XX......X.....X","X....XX..X....X......X.X..........X....X......X",".............X....XX.................X.........",".........X.XX...X........X.X.X.X..X...XX.......","..XX...........X.X.X..X.............X.X....X...",".....X...XX....X.....X....X....X.X.X.........X.","....X.....X.X....XXX.XXX..............X..X..X..","...X...X..............X.....X...X.........X....","...X.X.....X.XX.....X......X.........XX.....XX.",".....X..X.....X...X.XXX..........XX............","X...XX..X.XX.........XX...................XX...","...........X.XXX...X...X.........XX.......X....","....X.X.X...X.X.X.X.....XX...X.......X...XX...."}

    5

    Returns: 0

  35. {"..XX.....XX.X..X..X..XXX..X...X.X...","X.XX.X.X...........X...X.....X...X..",".X.X..X...XX.XX......X......XX.X...X","X......X.X.....X....XX.....XXX...X..",".X..X......XX......X..XX......X...X.","...............X.....XX.X........X..","X..X....XX.X........X....X........X.","...XX.X.....X..X..X......XXX.X.....X","...X........X..X....XX....XX....X...","....X.XX....X......X.XX.XXX.X....X..",".......X..........X.......X....X...X",".X............XX........X..X....X...",".XXX............X...X.X..X....X.....",".X.XX.......X......X.X..........X.X.",".........XX.X...........X..XX.......","XXX.X.X.............X..XX..........X","..X.........X.X......X............X.",".XXX...X........XX....X......X..X...","...........XX....X..XX....X....X....",".......X.X.X......X........X.....X..","X............XXXX.X.X...............",".X....X...X....X.X............X.....","XX.........XXX......X.....X...X....X",".X.X..............X....X..X.X.X.....","X...X..XX.X..X.X.X...X..X.X.........","..X.XX......XX.....X....X...........",".X.........X..X........X...X..X..XX.","...X......X...X..X...X....X......XX.","......X....X.....X.X...........X....",".X.................XX..X...XXX....X.","....X...XXXX.XX.XXX..X...X..X.......","...........X.XX.X.......XX...X....X.",".....X........X...X.XX...X.X.X......","....X............X.X..............X.",".....XX....X...X.....X...X..X.......",".X.........XX...X......XX...........",".....XX.X.X.X...XX.X..........X..X.X","...XX....X..........X.......X......X","X.................X..X....X.X.......","..X.X.....X...X......X..X.......XX..",".....X.....X.XXX..................X.",".X......X.XXXX.X........X...........","XX....X.X.......X..X..X.....X.X.....","....X....X...X..X..X...X....X.....X.",".XX...X....X........XX.XX........X.."}

    6

    Returns: 0

  36. {".........X.......XX...X.......X","....XX......X........X.......XX","............X.X.XXX......X.....","....X.XXX....X............X.X..",".X...X..............X........XX","X.X....X..X....XX....X.......X.","......XX.....X.....X.X...X.X.XX","..X.X..............X....X.X....",".........X....X....X.X...X.....","X....X...X.....X...XX...X......"}

    7

    Returns: 0

  37. {"...............X",".............XX.","....X.......X.X.","........X..X....","X.X...XX.X......","..X....X..XXX..X","X...XX.XXX.XX.X.","...X..........X.","X.....X..X.X....","............X.X.",".....X..........","X.......X.XX..X.",".X......X.X...X.","..X.....X.......","X........X....XX",".X....X...XX....",".....X.X...X.X..","......X.......X."}

    7

    Returns: 0

  38. {".....................X......................X....",".......X.......................X.................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................",".................................................","X................................................","...............................X.................",".......................................X.........","................................................X","..................................X..............","................................X................",".......X.........................X..............."}

    8

    Returns: 0

  39. {"X",".","X",".",".",".","X","X"}

    9

    Returns: 0

  40. {"..X........X.X....XX...X...............XX...X..X",".X.X......X..X...XXX..X.........X.X.X.X.........",".X......X.........X...X..X..XX....X....X.....X..","...........X....XX.X.....X.X.X..................",".X...X.X.....X.......X.........X.............X..","....X......X...X...XX..X.X....X........X........","XX....X...........X...........X...X...X.....XX..","...................X.X........X..X.X...X..X..X..","XXX......X...XX.X...X.....XX.................X..","...X..X......X.X..........X......X...X.....XX.XX","..X..X..X........X.....X.....X.XX.............X.","...XX.X.X....XX...............X......X.XX.......","..........XX.X..X.......X................XX.X...","X...........X..X.X..XX.....X.X...X.X............","..X...X....X....X....X....X...X............X....","............X....X.X..X.X..X.....X...XXX...XX...","..X...X.XX.....X.X..........X......X............",".X.X..XX.......X..X.X......X....X....X..XXX.....","....X.X......X....X.X...XX..X......X..X.XX......","X..X.X..X.........X..........X...XX....X.....X.X"}

    9

    Returns: 0

  41. {"..XX..X........","......X.....X..","..X....X.....XX","X....X.....X...","...X.X...X....."}

    8

    Returns: 0

  42. {"X...X.X.X",".X...XXXX",".....XXX.",".X..XX...",".X..X....","........X",".X.X..XX.",".XXXXX.XX","...X....X","......XX.",".X.X.....","X.XX..X.X","..X......",".........",".XXX.....","...X.X...","X.XXX.XX.","X....X...","X.X.....X","..X...X.."}

    9

    Returns: 0

  43. {"XX.XX.......X.........X.X.............X.X..","....X.X..X....XXX...X...XXXX......X....XX..","......XX...XX..X..XXX.XX..X.....XXXXX.X.XX.",".X......XX...XX...XX.X.....X.XX....X..X....",".....XXXXX.X.....X..X....XXX.....X.........","..XX..X..XXX..X...XXX....XXX..X.....XXX....","X..X.X..X...X..X.X....X...X...X.X.X..X...XX",".XX..X........X.XX.XX.....XXX.....XX.X..X..","..X......X..X...X..X....X..X...X........X.X","X.X.X..XX...X.XX......X.......X.XXX...X....","X..XXX.........XX.X...X.....X.XX.X.XXX.....","..X..X.X....XXX.....X...X.XX........X.XX..."}

    5

    Returns: 0

  44. {"X",".",".",".","X",".",".",".",".",".",".",".",".",".",".","X",".",".","X",".",".",".","X",".",".","X",".",".",".","X",".",".",".",".",".",".","X"}

    6

    Returns: 0

  45. {"....","..X.","...."}

    3

    Returns: 18

  46. {"...X...X.",".........","X..X....X","X..XX.XX.","...X.....",".XX.....X","...X.....","..X..XX..","......X.."}

    2

    Returns: 0

  47. {"...X.X...X...X",".XX..X..X...XX",".X...........X",".....XX....X.X","X..X.....X....","...X..XX.....X",".X............","....XXX...XX..",".......XX..XXX","..X.X....X....","..X......XX...","..........XX..","....X.........","X....XXX.X.X..","XXX..X.X...X..","......X.XX...X",".X.....X.XX...","......XX...X..","X...XX.......X",".X.....XX....X","X..X.X.X......","X...XXX.X.....","XXX...X..X....",".......X.....X","X...X..X.XXX..",".X.X..........","....X.....X...",".....XX...X...",".X.......X....","..XXX..X..X...","....XXX....X.X",".X..XX........",".XX.....X.....",".....XX..X.XX.","X.XX.X.X..X...","...X.X........","X..X..XX.....X",".X.X......X...","....X...X.XX..","X..XX..X..X..X"}

    6

    Returns: 0

  48. {"...X...X.","X....X.X.",".X...X...","X....X..X","......XX.","XX....X..",".X..X.X..",".....XX..","..X.X.X.."}

    2

    Returns: 0

  49. {".X............XX..........X......X.",".X.X..X..............X..X..X...X.X.","......X..X...X.........X.X.........","X..XX..XX..X........X.XX.X.X.....X.",".XX..X.....X..XX....X....X.X.X.XX..","....X.X......XX.......X...X.....X.X","X.XXX.XX.....XX.X..................","....X..X..X.......XXXX.XXXXX..XX...",".XX..XX.......XX..X.X...X.X..XXX.X.","X...XX.X.......X..X.....X..XX.X...X","..XXX......X.X..X...X.....X..X.X...","..........X.XX..X..X.X.XX..XXX.X...","..........X.X.X..........XX.XXX....",".XX.X...X.......XXXX......XXX..X..X","XX..X.XX..X..X.X.......XX.....X...X","........XX..X.X.XX.......X...X.X.XX","..X..XXXX.X...XX...X....XXX.XXX...X",".XXX..XX..XX...X..XX..X.......X.XXX","XX......X....X.....X.XX....X..X..XX"}

    9

    Returns: 0

  50. {"..X"}

    1

    Returns: 0

  51. {"............",".....X.X...X","............",".....X.X...X","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............","............"}

    8

    Returns: 1953

  52. {"............................","............................","............................","............................","............................","............................","............................","X.X.........X.X...X.X.......","............................","X.X.........X.X...X.X.......","............................","............................","............................","X.X.........X.X...X.X.......","............................"}

    4

    Returns: 3

  53. {".........X.X...X.X........","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................","..........................",".........................."}

    6

    Returns: 98

  54. {"........................","........................","X...X.X.................","........................","X...X.X.................","........................","........................","........................","........................","........................","........................","........................","........................","........................","X...X.X................."}

    8

    Returns: 992

  55. {"...........","...........","...........","...........","...........","...........","...........","...........",".......X.X.","...........",".......X.X.","...........","...........","...........",".......X.X.","...........",".......X.X.","...........","...........","...........","...........","...........","...........","...........","...........","..........."}

    4

    Returns: 6

  56. {"............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................","............................",".......................X.X..","............................",".......................X.X..","............................","............................","............................",".......................X.X..","............................",".......................X.X..","............................","............................","............................","............................","............................","............................","............................","............................","............................",".......................X.X..","............................",".......................X.X..","............................","............................","............................",".......................X.X..","............................",".......................X.X..","............................","............................","............................"}

    7

    Returns: 210

  57. {"X.X...X.X....",".............",".............",".............","X.X...X.X....",".............","X.X...X.X....","............."}

    3

    Returns: 1

  58. {"...........................","X.X...X.X.........X.X...X.X","..........................."}

    3

    Returns: 6

  59. {".................","X...X.X.........X",".................","X...X.X.........X",".................",".................",".................",".................",".................",".................",".................","................."}

    3

    Returns: 1

  60. {"................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................","................",".......X.X...X.X","................",".......X.X...X.X","................","................","................",".......X.X...X.X","................",".......X.X...X.X","................","................","................","................","................","................","................","................","................"}

    7

    Returns: 465

  61. {"...", "...", ".X." }

    9

    Returns: 130050

  62. {"X" }

    9

    Returns: 262144


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: