Statistics

Problem Statement for "ThePermutationGame"

Problem Statement

Alice and Bob are playing a game called "The Permutation Game". The game is parameterized with the int N. At the start of the game, Alice chooses a positive integer x, and Bob chooses a permutation of the first N positive integers. Let p be Bob's permutation. Alice will start at 1, and apply the permutation to this value x times. More formally, let f(1) = p[1], and f(m) = p[f(m-1)] for all m >= 2. Alice's final value will be f(x). Alice wants to choose the smallest x such that f(x) = 1 for any permutation Bob can provide. Compute and return the value of such x modulo 1,000,000,007.

Definition

Class:
ThePermutationGame
Method:
findMin
Parameters:
int
Returns:
int
Method signature:
int findMin(int N)
(be sure your method is public)

Notes

  • A permutation of the first N positive integers is a sequence of length N that contains each of the integers 1 through N exactly once. The i-th (1-indexed) element of a permutation p is denoted by p[i].

Constraints

  • N will be between 1 and 100,000 inclusive.

Examples

  1. 2

    Returns: 2

    Bob can choose the permutations (1,2) or (2,1). If Alice chooses 1, then, Bob can choose the permutation (2,1), which would would make f(1) = 2. However, if Alice chooses 2, no matter which permutation Bob chooses, Alice will get f(2) = 1. Thus the answer in this case is 2.

  2. 3

    Returns: 6

  3. 11

    Returns: 27720

  4. 102

    Returns: 53580071

  5. 9999

    Returns: 927702802

  6. 35157

    Returns: 937518076

  7. 34230

    Returns: 740350604

  8. 57100

    Returns: 247067771

  9. 58698

    Returns: 49268119

  10. 12481

    Returns: 849911685

  11. 42324

    Returns: 762823246

  12. 31379

    Returns: 589672269

  13. 24398

    Returns: 882274344

  14. 36940

    Returns: 330451934

  15. 24917

    Returns: 250138819

  16. 31086

    Returns: 234840781

  17. 26329

    Returns: 145436481

  18. 10079

    Returns: 360516388

  19. 72615

    Returns: 468013463

  20. 13944

    Returns: 851198691

  21. 8376

    Returns: 459278786

  22. 40268

    Returns: 207985004

  23. 53876

    Returns: 294846859

  24. 57385

    Returns: 340995703

  25. 87446

    Returns: 576510380

  26. 20331

    Returns: 929584200

  27. 76668

    Returns: 982058946

  28. 18397

    Returns: 286495927

  29. 75155

    Returns: 410672060

  30. 33360

    Returns: 302893413

  31. 57529

    Returns: 998094308

  32. 62815

    Returns: 365884096

  33. 88264

    Returns: 668415225

  34. 87537

    Returns: 569631445

  35. 25169

    Returns: 377880881

  36. 133

    Returns: 765427742

  37. 1381

    Returns: 714617036

  38. 650

    Returns: 179094468

  39. 301

    Returns: 199546229

  40. 170

    Returns: 871276406

  41. 5

    Returns: 60

  42. 19640

    Returns: 705613344

  43. 128

    Returns: 570728460

  44. 6

    Returns: 60

  45. 9508

    Returns: 220585550

  46. 16

    Returns: 720720

  47. 73

    Returns: 497270415

  48. 42

    Returns: 206169884

  49. 753

    Returns: 691620754

  50. 8

    Returns: 840

  51. 361

    Returns: 779915945

  52. 242

    Returns: 769677147

  53. 941

    Returns: 665163605

  54. 16

    Returns: 720720

  55. 1541

    Returns: 630801461

  56. 448

    Returns: 215695038

  57. 13

    Returns: 360360

  58. 70

    Returns: 419737080

  59. 1311

    Returns: 938024783

  60. 7

    Returns: 420

  61. 3

    Returns: 6

  62. 3105

    Returns: 588601036

  63. 89893

    Returns: 594213079

  64. 19414

    Returns: 63013446

  65. 32570

    Returns: 965309544

  66. 14371

    Returns: 63854004

  67. 12386

    Returns: 608039160

  68. 75747

    Returns: 248650835

  69. 3743

    Returns: 67640556

  70. 30487

    Returns: 823181278

  71. 19852

    Returns: 397205410

  72. 3699

    Returns: 654343651

  73. 70458

    Returns: 168508059

  74. 16422

    Returns: 786864642

  75. 49978

    Returns: 739881009

  76. 30027

    Returns: 662326482

  77. 577

    Returns: 970663088

  78. 18061

    Returns: 492843004

  79. 12240

    Returns: 159347435

  80. 16738

    Returns: 903923151

  81. 2040

    Returns: 675966917

  82. 41511

    Returns: 149417417

  83. 93731

    Returns: 489330151

  84. 26656

    Returns: 544162488

  85. 45741

    Returns: 495256522

  86. 70174

    Returns: 223695140

  87. 1337

    Returns: 232134838

  88. 100000

    Returns: 59814054

  89. 99990

    Returns: 26863016

  90. 99991

    Returns: 59814054

  91. 1

    Returns: 1

  92. 32

    Returns: 551882779

  93. 99999

    Returns: 59814054

  94. 12345

    Returns: 733823350

  95. 70523

    Returns: 999268607

  96. 65536

    Returns: 551585434

  97. 4

    Returns: 12

  98. 98798

    Returns: 786222871

  99. 96720

    Returns: 477016810

  100. 9

    Returns: 2520

  101. 97966

    Returns: 744400308


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: