Statistics

Problem Statement for "PlankTiling"

Problem Statement

You have a sufficient supply of identical planks. Each plank has the shape of an 1 times H rectangle.


The floor of your room is also a rectangle. Its width is W and its height is 2H-1. You want to use the planks you have to tile the floor. The entire floor must be covered and the planks must not overlap. (The width W is guaranteed to be a multiple of H, so this is always possible.)


You are given the two ints H and W. Return the number of ways to tile the floor, modulo 1,000,000,007.

Definition

Class:
PlankTiling
Method:
sumup
Parameters:
int, int
Returns:
int
Method signature:
int sumup(int H, int W)
(be sure your method is public)

Constraints

  • H will be between 2 and 1000, inclusive.
  • W will be between 2 and 1000, inclusive.
  • W will be a multiple of H.

Examples

  1. 2

    4

    Returns: 11

    We are using 1x2 planks to tile a rectangle of width 4 and height 3. There are eleven different ways to do so:

  2. 4

    4

    Returns: 5

  3. 3

    9

    Returns: 121

  4. 29

    841

    Returns: 193514715

  5. 2

    1000

    Returns: 146530309

  6. 1000

    1000

    Returns: 1001

  7. 2

    2

    Returns: 3

  8. 500

    1000

    Returns: 500501

  9. 3

    3

    Returns: 4

  10. 4

    4

    Returns: 5

  11. 7

    7

    Returns: 8

  12. 12

    12

    Returns: 13

  13. 19

    19

    Returns: 20

  14. 28

    28

    Returns: 29

  15. 39

    39

    Returns: 40

  16. 52

    52

    Returns: 53

  17. 67

    67

    Returns: 68

  18. 84

    84

    Returns: 85

  19. 27

    27

    Returns: 28

  20. 56

    56

    Returns: 57

  21. 91

    91

    Returns: 92

  22. 25

    25

    Returns: 26

  23. 18

    18

    Returns: 19

  24. 930

    930

    Returns: 931

  25. 919

    919

    Returns: 920

  26. 911

    911

    Returns: 912

  27. 548

    548

    Returns: 549

  28. 771

    771

    Returns: 772

  29. 685

    685

    Returns: 686

  30. 742

    742

    Returns: 743

  31. 919

    919

    Returns: 920

  32. 921

    921

    Returns: 922

  33. 913

    913

    Returns: 914

  34. 55

    220

    Returns: 57269356

  35. 129

    516

    Returns: 718471817

  36. 481

    962

    Returns: 463204

  37. 244

    488

    Returns: 119317

  38. 105

    315

    Returns: 4079356

  39. 484

    968

    Returns: 468997

  40. 79

    553

    Returns: 296493731

  41. 489

    978

    Returns: 478732

  42. 323

    646

    Returns: 208982

  43. 110

    660

    Returns: 979181893

  44. 473

    946

    Returns: 447932

  45. 417

    834

    Returns: 348196

  46. 218

    436

    Returns: 95267

  47. 31

    341

    Returns: 111437070

  48. 236

    708

    Returns: 46144373

  49. 9

    702

    Returns: 549086680

  50. 397

    794

    Returns: 315616

  51. 149

    745

    Returns: 565655750

  52. 286

    858

    Returns: 82082573

  53. 140

    840

    Returns: 397122151

  54. 141

    987

    Returns: 852517494

  55. 440

    880

    Returns: 387641

  56. 489

    978

    Returns: 478732

  57. 409

    818

    Returns: 334972

  58. 215

    645

    Returns: 34900091

  59. 137

    548

    Returns: 185274794

  60. 439

    878

    Returns: 385882

  61. 490

    980

    Returns: 480691

  62. 107

    535

    Returns: 834911150

  63. 225

    450

    Returns: 101476

  64. 474

    948

    Returns: 449827

  65. 272

    816

    Returns: 70618001

  66. 300

    900

    Returns: 94725301

  67. 323

    646

    Returns: 208982

  68. 54

    756

    Returns: 531101389

  69. 48

    768

    Returns: 774838811

  70. 87

    174

    Returns: 15226

  71. 59

    767

    Returns: 143957382

  72. 70

    630

    Returns: 356254921

  73. 53

    159

    Returns: 528146

  74. 81

    648

    Returns: 587763785

  75. 53

    371

    Returns: 578949677

  76. 11

    429

    Returns: 180201878

  77. 2

    846

    Returns: 305198945

  78. 94

    376

    Returns: 485639909

  79. 70

    140

    Returns: 9871

  80. 27

    108

    Returns: 3377728

  81. 51

    102

    Returns: 5254

  82. 49

    735

    Returns: 93484750

  83. 74

    814

    Returns: 497524378

  84. 14

    686

    Returns: 536978578

  85. 60

    480

    Returns: 385300480

  86. 44

    352

    Returns: 624317774

  87. 52

    468

    Returns: 416558030

  88. 36

    792

    Returns: 728303906


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: