Statistics

Problem Statement for "Pathfinding"

Problem Statement

Recently you have been working on the pathfinding module for your AI system. Your objective is to find the shortest path for an agent that wants to travel between two points on a plane. The agent will start at the point (0,0), and travel to the point (x,y). You decided that the agent will move either on horizontal of vertical lines such that, at every moment, at least one coordinate of the agent is an integer.

There is yet another restriction however. Each line will only allow movement in one direction. All horizontal lines with odd y-coordinates will be directed toward decreasing values of x, and all other horizontal lines toward increasing values of x. Similarly, all vertical lines with odd x-coordinates will be directed toward decreasing values of y, and all other vertical lines toward increasing values of y.

Given x and y, return the distance that the agent must travel.

Definition

Class:
Pathfinding
Method:
getDirections
Parameters:
int, int
Returns:
int
Method signature:
int getDirections(int x, int y)
(be sure your method is public)

Constraints

  • x and y will both be between -10^6 and 10^6, inclusive.

Examples

  1. 0

    -4

    Returns: 8

    A possible path from (0,0) to (0,-4) is through the points (1,0), (1,-3), (-1,-3) and (-1,-4).

  2. 5

    -4

    Returns: 9

  3. 5

    4

    Returns: 9

  4. -1

    -4

    Returns: 7

  5. -100

    -100

    Returns: 204

  6. 0

    6

    Returns: 6

  7. -5

    4

    Returns: 11

  8. 8

    -9

    Returns: 19

  9. 8

    -6

    Returns: 14

  10. 3

    -4

    Returns: 7

  11. -4

    -8

    Returns: 16

  12. 1

    2

    Returns: 3

  13. 8

    4

    Returns: 12

  14. 7

    -4

    Returns: 11

  15. -3

    -9

    Returns: 14

  16. -69

    -99

    Returns: 170

  17. -45

    -17

    Returns: 64

  18. 44

    73

    Returns: 117

  19. -29

    -1

    Returns: 32

  20. 92

    -57

    Returns: 151

  21. 90

    68

    Returns: 158

  22. -16

    57

    Returns: 73

  23. -59

    56

    Returns: 117

  24. -75

    10

    Returns: 87

  25. 29

    78

    Returns: 107

  26. 0

    -932988

    Returns: 932992

  27. 0

    -192031

    Returns: 192033

  28. 0

    996617

    Returns: 996617

  29. 0

    565165

    Returns: 565165

  30. 0

    -68447

    Returns: 68449

  31. 0

    329397

    Returns: 329397

  32. 0

    87302

    Returns: 87302

  33. 0

    -226231

    Returns: 226233

  34. 0

    714659

    Returns: 714659

  35. 0

    408192

    Returns: 408192

  36. -822882

    0

    Returns: 822886

  37. -918262

    0

    Returns: 918266

  38. 107779

    0

    Returns: 107779

  39. 64185

    0

    Returns: 64185

  40. -970733

    0

    Returns: 970735

  41. 557748

    0

    Returns: 557748

  42. 240445

    0

    Returns: 240445

  43. -974073

    0

    Returns: 974075

  44. -211284

    0

    Returns: 211288

  45. -365883

    0

    Returns: 365885

  46. 950352

    -60019

    Returns: 1010373

  47. -725167

    -26598

    Returns: 751767

  48. 947387

    167290

    Returns: 1114677

  49. -8349

    -555143

    Returns: 563494

  50. 45790

    575420

    Returns: 621210

  51. -970177

    -926113

    Returns: 1896292

  52. 100990

    -356385

    Returns: 457377

  53. 905559

    -579206

    Returns: 1484765

  54. 211559

    152290

    Returns: 363849

  55. 778995

    997648

    Returns: 1776643

  56. 0

    0

    Returns: 0

  57. -124121

    14213

    Returns: 138334

  58. -121456

    987612

    Returns: 1109068

  59. -36984

    -120489

    Returns: 157475

  60. 12341

    534677

    Returns: 547020

  61. 52351

    -12397

    Returns: 64748

  62. -1

    -1

    Returns: 4

  63. -4

    0

    Returns: 8

  64. 1

    1

    Returns: 4

  65. -2

    -2

    Returns: 8

  66. 0

    -3

    Returns: 5

  67. 0

    1

    Returns: 1

  68. 0

    -1

    Returns: 3

  69. -2

    0

    Returns: 6

  70. -4

    -4

    Returns: 12

  71. -50000

    -60000

    Returns: 110004

  72. 18

    -905

    Returns: 925

  73. 1000000

    1000000

    Returns: 2000000

  74. -1000000

    -999999

    Returns: 2000001

  75. 2

    -2

    Returns: 4

  76. -5

    0

    Returns: 7

  77. -16

    16

    Returns: 32

  78. 2

    -1

    Returns: 5

  79. 0

    -5

    Returns: 7

  80. 0

    -2

    Returns: 6

  81. -2

    -4

    Returns: 10

  82. -1000000

    -1000000

    Returns: 2000004

  83. -1

    0

    Returns: 3

  84. 5

    5

    Returns: 12

  85. -3

    0

    Returns: 5

  86. -10

    0

    Returns: 14

  87. -3

    4

    Returns: 9

  88. -3

    1

    Returns: 4

  89. 7

    11

    Returns: 20

  90. -4

    4

    Returns: 8

  91. -4

    -6

    Returns: 14

  92. -2

    2

    Returns: 4

  93. 0

    5

    Returns: 5

  94. 1000000

    999999

    Returns: 1999999

  95. 3

    3

    Returns: 8

  96. 0

    -100001

    Returns: 100003

  97. 2

    -9

    Returns: 13

  98. -300

    296

    Returns: 596

  99. -999998

    -999998

    Returns: 2000000

  100. 0

    3

    Returns: 3

  101. -10020

    -14212

    Returns: 24236

  102. 0

    2

    Returns: 2

  103. 2

    -3

    Returns: 7

  104. 1000000

    -1000000

    Returns: 2000000

  105. -1

    2

    Returns: 5

  106. -10

    -42

    Returns: 56

  107. -3

    5

    Returns: 8

  108. 999999

    -999998

    Returns: 1999997

  109. -99

    0

    Returns: 101

  110. -2

    3

    Returns: 5

  111. 0

    -15

    Returns: 17

  112. -999999

    1000000

    Returns: 2000001

  113. -21201

    12141

    Returns: 33342

  114. 987654

    986754

    Returns: 1974408

  115. -2

    -1

    Returns: 5

  116. 2

    0

    Returns: 2

  117. 10

    -10

    Returns: 20

  118. -4

    2

    Returns: 6

  119. -6

    0

    Returns: 10

  120. 101

    99

    Returns: 202

  121. -10000

    -100001

    Returns: 110003

  122. 5

    3

    Returns: 10

  123. 3

    1

    Returns: 6

  124. 2

    3

    Returns: 5

  125. -10012

    20024

    Returns: 30036

  126. -1000000

    1000000

    Returns: 2000000

  127. -5

    6

    Returns: 13

  128. -99999

    -9876

    Returns: 109877

  129. -999999

    999999

    Returns: 1999998

  130. 8

    -1

    Returns: 11

  131. -600001

    256845

    Returns: 856846

  132. 3

    -3

    Returns: 6

  133. -24

    0

    Returns: 28

  134. 0

    90000

    Returns: 90000

  135. -9

    -9

    Returns: 20

  136. 2

    -4

    Returns: 6

  137. 102843

    13243

    Returns: 116088

  138. -400

    -400

    Returns: 804

  139. -12

    0

    Returns: 16

  140. -999999

    -989988

    Returns: 1989989

  141. -900000

    -900000

    Returns: 1800004


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: