Statistics

Problem Statement for "MagicalGirlLevelOneDivTwo"

Problem Statement

Magical Girls are girls who have magical powers. They fight against evil witches to protect the Earth.


You, one of the Magical Girls, are now at point (0, 0) on the plane. You found an evil witch at point (x, y), so you will attack her by Attack Magic.


The range of your Attack Magic is a square with side length 2d centered at your location. That is, if you are at point (u, v), the square which indicates the range of your magic has four vertices (u+d, v+d), (u-d, v+d), (u-d, v-d) and (u+d, v-d).


Before casting Attack Magic, you may move to any point in the plane. Return the minimum distance you have to move so that the evil witch is inside or on the edge of the square.

Definition

Class:
MagicalGirlLevelOneDivTwo
Method:
theMinDistance
Parameters:
int, int, int
Returns:
double
Method signature:
double theMinDistance(int d, int x, int y)
(be sure your method is public)

Notes

  • The distance between two points (x1, y1) and (x2, y2) is sqrt((x2-x1)^2 + (y2-y1)^2).
  • The returned value must have an absolute or relative error less than 1e-9.

Constraints

  • d will be between 1 and 500, inclusive.
  • x and y will each be between -500 and 500, inclusive.

Examples

  1. 5

    10

    10

    Returns: 7.0710678118654755

    Moving to (5, 5) achieves the minimum distance. The distance is sqrt(5*5 + 5*5) = 7.0710678118654755.

  2. 5

    10

    3

    Returns: 5.0

    Moving to (5, 0) achieves the minimum distance. The distance is sqrt(5*5 + 0*0) = 5.

  3. 5

    -8

    -6

    Returns: 3.1622776601683795

  4. 5

    3

    2

    Returns: 0.0

    The evil witch is already inside of the square.

  5. 24

    24

    -24

    Returns: 0.0

  6. 345

    -471

    333

    Returns: 126.0

  7. 1

    1

    1

    Returns: 0.0

  8. 1

    -1

    -1

    Returns: 0.0

  9. 1

    1

    -1

    Returns: 0.0

  10. 1

    2

    0

    Returns: 1.0

  11. 1

    1

    0

    Returns: 0.0

  12. 1

    0

    -1

    Returns: 0.0

  13. 1

    3

    5

    Returns: 4.47213595499958

  14. 1

    132

    -132

    Returns: 185.26197667087544

  15. 1

    500

    500

    Returns: 705.6925676241744

  16. 1

    -500

    -500

    Returns: 705.6925676241744

  17. 8

    8

    6

    Returns: 0.0

  18. 8

    8

    -79

    Returns: 71.0

  19. 8

    6

    -8

    Returns: 0.0

  20. 8

    79

    -8

    Returns: 71.0

  21. 9

    9

    13

    Returns: 4.0

  22. 9

    9

    -3

    Returns: 0.0

  23. 123

    123

    -123

    Returns: 0.0

  24. 123

    -123

    -123

    Returns: 0.0

  25. 123

    124

    0

    Returns: 1.0

  26. 500

    427

    -116

    Returns: 0.0

  27. 156

    236

    -113

    Returns: 80.0

  28. 83

    371

    -319

    Returns: 372.34392703520757

  29. 180

    -95

    445

    Returns: 265.0

  30. 56

    6

    170

    Returns: 114.0

  31. 140

    -135

    151

    Returns: 11.0

  32. 454

    399

    -449

    Returns: 0.0

  33. 426

    500

    155

    Returns: 74.0

  34. 414

    318

    103

    Returns: 0.0

  35. 240

    470

    -440

    Returns: 304.7950130825634

  36. 356

    -217

    -10

    Returns: 0.0

  37. 374

    -21

    162

    Returns: 0.0

  38. 231

    -378

    -416

    Returns: 236.29219199965115

  39. 275

    324

    -123

    Returns: 49.0

  40. 494

    315

    -392

    Returns: 0.0

  41. 29

    -480

    282

    Returns: 517.117008035899

  42. 409

    -454

    472

    Returns: 77.42092740338364

  43. 289

    94

    149

    Returns: 0.0

  44. 290

    348

    287

    Returns: 58.0

  45. 171

    202

    -107

    Returns: 31.0

  46. 291

    326

    -487

    Returns: 199.1004771465905

  47. 221

    -466

    476

    Returns: 353.62409420173844

  48. 74

    -192

    -200

    Returns: 172.6267650163207

  49. 208

    242

    297

    Returns: 95.2732911156112

  50. 86

    434

    343

    Returns: 432.6118352518803

  51. 193

    109

    -50

    Returns: 0.0

  52. 319

    -418

    -362

    Returns: 107.93516572461452

  53. 430

    118

    258

    Returns: 0.0

  54. 64

    486

    383

    Returns: 529.0037807048263

  55. 398

    108

    -356

    Returns: 0.0

  56. 130

    291

    -85

    Returns: 161.0

  57. 425

    319

    163

    Returns: 0.0

  58. 299

    -417

    425

    Returns: 172.6267650163207

  59. 275

    482

    375

    Returns: 229.88910370002316

  60. 36

    -345

    51

    Returns: 309.3638634359223

  61. 191

    130

    -482

    Returns: 291.0

  62. 156

    -329

    -5

    Returns: 173.0

  63. 466

    -38

    -93

    Returns: 0.0

  64. 41

    172

    -120

    Returns: 152.97712247261026

  65. 166

    -152

    115

    Returns: 0.0

  66. 103

    -59

    -266

    Returns: 163.0

  67. 158

    -288

    -177

    Returns: 131.38112497615478

  68. 478

    -336

    145

    Returns: 0.0

  69. 383

    -5

    229

    Returns: 0.0

  70. 472

    -442

    131

    Returns: 0.0

  71. 129

    -453

    254

    Returns: 347.2765468614315

  72. 187

    -328

    320

    Returns: 193.82982226685345

  73. 246

    -342

    376

    Returns: 161.60445538412608

  74. 7

    -320

    266

    Returns: 406.2634613154375

  75. 418

    396

    -106

    Returns: 0.0

  76. 50

    100

    -100

    Returns: 70.71067811865476

  77. 100

    -1

    -1

    Returns: 0.0

  78. 1

    0

    0

    Returns: 0.0

  79. 2

    -4

    -4

    Returns: 2.8284271247461903

  80. 5

    3

    3

    Returns: 0.0

  81. 2

    4

    0

    Returns: 2.0

  82. 5

    2

    2

    Returns: 0.0

  83. 5

    4

    -10

    Returns: 5.0

  84. 1

    4

    4

    Returns: 4.242640687119285

  85. 1

    0

    10

    Returns: 9.0

  86. 10

    10

    200

    Returns: 190.0

  87. 7

    8

    8

    Returns: 1.4142135623730951

  88. 10

    -1

    -1

    Returns: 0.0

  89. 5

    5

    10

    Returns: 5.0

  90. 5

    12

    0

    Returns: 7.0

  91. 9

    10

    -10

    Returns: 1.4142135623730951

  92. 5

    11

    9

    Returns: 7.211102550927978

  93. 1

    -2

    -3

    Returns: 2.23606797749979

  94. 20

    15

    28

    Returns: 8.0

  95. 5

    -10

    -2

    Returns: 5.0

  96. 2

    1

    4

    Returns: 2.0

  97. 2

    -10

    -10

    Returns: 11.313708498984761

  98. 3

    5

    4

    Returns: 2.23606797749979

  99. 2

    0

    3

    Returns: 1.0

  100. 5

    7

    0

    Returns: 2.0

  101. 5

    3

    10

    Returns: 5.0

  102. 5

    10

    0

    Returns: 5.0

  103. 3

    20

    0

    Returns: 17.0

  104. 2

    1

    3

    Returns: 1.0

  105. 100

    99

    99

    Returns: 0.0

  106. 5

    5

    0

    Returns: 0.0

  107. 100

    10

    10

    Returns: 0.0

  108. 50

    1

    499

    Returns: 449.0

  109. 12

    10

    10

    Returns: 0.0

  110. 101

    0

    100

    Returns: 0.0


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: