Statistics

Problem Statement for "Fragile"

Problem Statement

You are given two ints: N and K. Lun the dog is interested in the undirected graphs that satisfy the following conditions:

  • The graph has exactly N vertices, labeled from 0 to N-1. Each vertex has a unique label.
  • The graph has no loops (edges connected at both ends to the same vertex) and no more than one edge between any two different vertices.
  • The graph has exactly K bridges (edges whose deletion increases its number of connected components).

Find and return the number of these graphs modulo 1,000,000,007.

Definition

Class:
Fragile
Method:
countGraphs
Parameters:
int, int
Returns:
int
Method signature:
int countGraphs(int N, int K)
(be sure your method is public)

Notes

  • Two graphs are considered different if and only if there exists a pair of vertices such that one of the graphs contains an edge between them, and the other does not.

Constraints

  • N will be between 1 and 50, inclusive.
  • K will be between 0 and N-1, inclusive.

Examples

  1. 3

    2

    Returns: 3

    The following three graphs satisfy the conditions:

  2. 4

    0

    Returns: 15

    The following 15 graphs satisfy the conditions:

  3. 5

    2

    Returns: 195

    The following is some of the graphs that satisfy the conditions: Here, bridges are painted in brown, and "x n" represents that there are n graphs that are isomorphic to that graph.

  4. 50

    25

    Returns: 353637389

  5. 1

    0

    Returns: 1

  6. 2

    0

    Returns: 1

  7. 2

    1

    Returns: 1

  8. 3

    0

    Returns: 2

  9. 3

    1

    Returns: 3

  10. 4

    1

    Returns: 18

  11. 4

    2

    Returns: 15

  12. 4

    3

    Returns: 16

  13. 5

    0

    Returns: 314

  14. 5

    1

    Returns: 280

  15. 5

    3

    Returns: 110

  16. 5

    4

    Returns: 125

  17. 6

    4

    Returns: 1080

  18. 7

    0

    Returns: 1137508

  19. 8

    2

    Returns: 18308934

  20. 9

    5

    Returns: 42022260

  21. 10

    8

    Returns: 72000000

  22. 11

    1

    Returns: 596858841

  23. 12

    2

    Returns: 648619755

  24. 13

    7

    Returns: 53045030

  25. 14

    13

    Returns: 911978445

  26. 15

    13

    Returns: 102427527

  27. 16

    3

    Returns: 702517171

  28. 17

    1

    Returns: 31503346

  29. 18

    6

    Returns: 832562047

  30. 19

    2

    Returns: 302707424

  31. 20

    10

    Returns: 396354053

  32. 21

    7

    Returns: 3170380

  33. 22

    15

    Returns: 606721239

  34. 23

    2

    Returns: 35748661

  35. 24

    8

    Returns: 275833657

  36. 25

    3

    Returns: 344304028

  37. 26

    15

    Returns: 114450856

  38. 27

    20

    Returns: 60932377

  39. 28

    6

    Returns: 109197205

  40. 29

    8

    Returns: 29187184

  41. 30

    12

    Returns: 225754637

  42. 31

    18

    Returns: 752869846

  43. 32

    19

    Returns: 462258971

  44. 33

    29

    Returns: 740600360

  45. 34

    31

    Returns: 926274464

  46. 35

    21

    Returns: 828970495

  47. 36

    34

    Returns: 843527236

  48. 37

    36

    Returns: 846631831

  49. 38

    23

    Returns: 732726723

  50. 39

    29

    Returns: 558946916

  51. 40

    15

    Returns: 661614094

  52. 41

    24

    Returns: 305099601

  53. 42

    29

    Returns: 660679771

  54. 43

    31

    Returns: 807613155

  55. 44

    43

    Returns: 962074526

  56. 45

    29

    Returns: 500950647

  57. 46

    43

    Returns: 41018650

  58. 47

    13

    Returns: 782846135

  59. 48

    18

    Returns: 435389744

  60. 49

    47

    Returns: 804214110

  61. 50

    0

    Returns: 817615391

  62. 50

    1

    Returns: 391592736

  63. 50

    2

    Returns: 955227149

  64. 50

    3

    Returns: 213215122

  65. 50

    4

    Returns: 611920316

  66. 50

    5

    Returns: 981351269

  67. 50

    6

    Returns: 11359946

  68. 50

    7

    Returns: 267633299

  69. 50

    8

    Returns: 135761627

  70. 50

    9

    Returns: 247379320

  71. 50

    10

    Returns: 827473297

  72. 50

    11

    Returns: 615946594

  73. 50

    12

    Returns: 792281627

  74. 50

    13

    Returns: 420918692

  75. 50

    14

    Returns: 572233733

  76. 50

    15

    Returns: 666287965

  77. 50

    16

    Returns: 693926056

  78. 50

    17

    Returns: 826973602

  79. 50

    18

    Returns: 54192294

  80. 50

    19

    Returns: 334190416

  81. 50

    20

    Returns: 474781000

  82. 50

    21

    Returns: 89175524

  83. 50

    22

    Returns: 352233811

  84. 50

    23

    Returns: 943967764

  85. 50

    24

    Returns: 467827283

  86. 50

    26

    Returns: 678932015

  87. 50

    27

    Returns: 382760017

  88. 50

    28

    Returns: 480947388

  89. 50

    29

    Returns: 732741129

  90. 50

    30

    Returns: 877378704

  91. 50

    31

    Returns: 35671553

  92. 50

    32

    Returns: 244804576

  93. 50

    33

    Returns: 432922757

  94. 50

    34

    Returns: 417165837

  95. 50

    35

    Returns: 954080251

  96. 50

    36

    Returns: 237524660

  97. 50

    37

    Returns: 663225573

  98. 50

    38

    Returns: 918726516

  99. 50

    39

    Returns: 414379904

  100. 50

    40

    Returns: 211599682

  101. 50

    41

    Returns: 165808983

  102. 50

    42

    Returns: 277568899

  103. 50

    43

    Returns: 112134236

  104. 50

    44

    Returns: 161477050

  105. 50

    45

    Returns: 774268943

  106. 50

    46

    Returns: 401948922

  107. 50

    47

    Returns: 825238479

  108. 50

    48

    Returns: 384983970

  109. 50

    49

    Returns: 48440174


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: