Statistics

Problem Statement for "CatAndMice"

Problem Statement

We are on an infinite horizontal plane. For each pair of integers (x, y) such that |x| <= N and |y| <= N there is an animal sitting on the point (x, y). The animal on (0, 0) is a cat and all other animals are mice.

The cats wants to run away in some direction, that is, along some infinite ray that starts at (0, 0). Along the way the cat will catch and eat all the mice it encounters.

The cat wants to catch exactly C mice. Return the number of different directions the cat can choose.

Definition

Class:
CatAndMice
Method:
countDirections
Parameters:
int, int
Returns:
long
Method signature:
long countDirections(int N, int C)
(be sure your method is public)

Constraints

  • N will be between 1 and 5,000,000, inclusive.
  • C will be between 1 and N, inclusive.

Examples

  1. 2

    2

    Returns: 8

    The cat can choose any of the eight cardinal directions: horizontally, vertically, or diagonally (at 45 degrees).

  2. 2

    1

    Returns: 8

    Again there are eight options for the cat. One of them is to run along the ray that goes approximately 26.57 degrees counter-clockwise from the positive x direction. When running along this ray the cat will catch and eat the mouse that sits on the point (2, 1), and no other mouse.

  3. 19

    3

    Returns: 48

    One of the good options involves the cat eating the mice at (-5, 6), (-10, 12), and (-15, 18).

  4. 5000000

    1

    Returns: 45594542166976

  5. 1234

    3

    Returns: 180608

  6. 1234

    1212

    Returns: 0

    In this setting it's not possible for the cat to catch exactly 1212 mice.

  7. 4838943

    6

    Returns: 419620338112

  8. 4971039

    6

    Returns: 442843514880

  9. 4957416

    1687363

    Returns: 0

  10. 4996423

    1

    Returns: 45529341363456

  11. 4822946

    513685

    Returns: 0

  12. 4969459

    3

    Returns: 2919209755040

  13. 4717396

    5

    Returns: 661406657920

  14. 4997447

    83787

    Returns: 0

  15. 4995036

    7

    Returns: 290203132272

  16. 4875562

    2

    Returns: 8028397074624

  17. 3805677

    2394070

    Returns: 0

  18. 4901105

    5

    Returns: 713926778944

  19. 5

    5

    Returns: 8

  20. 4778940

    4558749

    Returns: 0

  21. 4850113

    7

    Returns: 273610257904

  22. 1

    1

    Returns: 8

  23. 3

    2

    Returns: 0

  24. 4890231

    5

    Returns: 710757214768

  25. 4839329

    5

    Returns: 696037660464

  26. 4832558

    1

    Returns: 42591888256176

  27. 4824645

    5

    Returns: 691820179696

  28. 3

    1

    Returns: 24

  29. 4711646

    743144

    Returns: 0

  30. 4932742

    3798

    Returns: 0

  31. 4879261

    5

    Returns: 707570103616

  32. 4924237

    2

    Returns: 8189488383328

  33. 4947364

    6

    Returns: 438632587376

  34. 4931851

    2

    Returns: 8214835589632

  35. 4717439

    5

    Returns: 661414888928

  36. 4818991

    6

    Returns: 416167471792

  37. 4825295

    7

    Returns: 270816514912

  38. 4986714

    4

    Returns: 1360578385536

  39. 5

    1

    Returns: 64

  40. 4718496

    2

    Returns: 7519452886048

  41. 4794990

    4292106

    Returns: 0

  42. 4932724

    1

    Returns: 44375824696384

  43. 4815834

    5

    Returns: 689288816960

  44. 4

    1

    Returns: 32

  45. 4976510

    3291367

    Returns: 0

  46. 6

    4

    Returns: 0

  47. 5

    4

    Returns: 0

  48. 4991119

    3

    Returns: 2944711747664

  49. 4937812

    4727873

    Returns: 0

  50. 4764160

    3473479

    Returns: 0

  51. 2951510

    262250

    Returns: 0

  52. 4738716

    1469040

    Returns: 0

  53. 4827412

    2

    Returns: 7870601186016

  54. 6

    1

    Returns: 64

  55. 4757748

    7

    Returns: 263288193344

  56. 4711656

    5

    Returns: 659795964592

  57. 4796477

    1482085

    Returns: 0

  58. 5265

    2162

    Returns: 0

  59. 4957558

    2874915

    Returns: 0

  60. 4881384

    3620845

    Returns: 0

  61. 4858716

    452087

    Returns: 0

  62. 4865453

    5

    Returns: 703571388720

  63. 6

    2

    Returns: 16

  64. 4802751

    2

    Returns: 7790386065712

  65. 4039567

    3036079

    Returns: 0

  66. 4877388

    391636

    Returns: 0

  67. 4843214

    4788516

    Returns: 0

  68. 343177

    219432

    Returns: 0

  69. 4953727

    3

    Returns: 2900754915248

  70. 198483

    26859

    Returns: 0

  71. 4986621

    1

    Returns: 45350873194032

  72. 4865147

    7

    Returns: 275309206352

  73. 3291828

    2581852

    Returns: 0

  74. 4771649

    2886150

    Returns: 0

  75. 4756667

    2238635

    Returns: 0

  76. 4885310

    5

    Returns: 709327022832

  77. 4

    2

    Returns: 8

  78. 4759735

    6

    Returns: 405997613696

  79. 6

    5

    Returns: 0

  80. 5

    3

    Returns: 0

  81. 4885099

    6

    Returns: 427664978656

  82. 4898563

    1033048

    Returns: 0

  83. 4825366

    4486968

    Returns: 0

  84. 3608673

    2322135

    Returns: 0

  85. 4907344

    3

    Returns: 2846690397536

  86. 4767044

    825595

    Returns: 0

  87. 4721865

    1178090

    Returns: 0

  88. 4735213

    3097489

    Returns: 0

  89. 4887141

    5

    Returns: 709857475216

  90. 6

    6

    Returns: 8

  91. 4992575

    2

    Returns: 8418375919152

  92. 4298704

    3242676

    Returns: 0

  93. 4896171

    6

    Returns: 429602171920

  94. 3

    3

    Returns: 8

  95. 4710864

    2216679

    Returns: 0

  96. 4

    4

    Returns: 8

  97. 6

    3

    Returns: 8

  98. 4972314

    7

    Returns: 287568515168

  99. 4743398

    1

    Returns: 41034763542160

  100. 4875074

    1

    Returns: 43344622985984

  101. 4959362

    4431498

    Returns: 0

  102. 4742311

    4722451

    Returns: 0

  103. 4954488

    3

    Returns: 2901648738080

  104. 4928386

    3

    Returns: 2871155431184

  105. 4918449

    5

    Returns: 718980917504

  106. 4987234

    2580893

    Returns: 0

  107. 4808572

    4

    Returns: 1265109365360

  108. 4983182

    7

    Returns: 288831839360

  109. 2881243

    1079731

    Returns: 0

  110. 4779274

    4613140

    Returns: 0

  111. 4

    3

    Returns: 0

  112. 4946306

    1666626

    Returns: 0

  113. 5

    2

    Returns: 8

  114. 4946955

    6

    Returns: 438565562416

  115. 4789283

    5

    Returns: 681714216240

  116. 4600000

    2300000

    Returns: 8

  117. 4600001

    2300000

    Returns: 8

  118. 4599999

    2300000

    Returns: 0

  119. 4325643

    4325643

    Returns: 8

  120. 4325643

    4325642

    Returns: 0

  121. 5000000

    2

    Returns: 8443441709264

  122. 5000000

    10

    Returns: 105509403824


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: