Statistics

Problem Statement for "ReturnToHome"

Problem Statement

You are located at point (X, Y) and you want to get home to point (0, 0) as quickly as possible. There are two allowable methods of movement. The first method is walking, and you can walk at a speed of 1 unit per second. The second method is jumping, and you can jump D units in T seconds. You can jump in any straight direction, but you can only jump exactly D units. Return the minimum number of seconds required to get home using these two methods. You are not limited to using just one method for the entire trip; you can use any combination of walking and jumping.

Definition

Class:
ReturnToHome
Method:
goHome
Parameters:
int, int, int, int
Returns:
double
Method signature:
double goHome(int X, int Y, int D, int T)
(be sure your method is public)

Notes

  • Your return value must have an absolute or relative error less than 1e-9.

Constraints

  • X will be between 1 and 1000, inclusive.
  • Y will be between 1 and 1000, inclusive.
  • D will be between 1 and 10000, inclusive.
  • T will be between 1 and 10000, inclusive.

Examples

  1. 6

    8

    5

    3

    Returns: 6.0

    The fastest way to get home is by using two jumps.

  2. 3

    4

    6

    3

    Returns: 4.0

    You should jump one unit past your destination and then walk back.

  3. 400

    300

    150

    10

    Returns: 40.0

    You should get home using four jumps.

  4. 318

    445

    1200

    800

    Returns: 546.9451526432975

    The fastest way is to walk.

  5. 387

    717

    413

    192

    Returns: 384.0

  6. 587

    628

    361

    205

    Returns: 547.6237549067615

  7. 165

    555

    489

    216

    Returns: 306.0077719685635

  8. 408

    211

    495

    99

    Returns: 134.6689646888641

  9. 224

    494

    430

    87

    Returns: 174.0

  10. 564

    468

    425

    86

    Returns: 172.0

  11. 617

    616

    294

    240

    Returns: 720.0

  12. 651

    426

    333

    218

    Returns: 547.9955012723402

  13. 520

    301

    369

    81

    Returns: 162.0

  14. 31

    563

    106

    142

    Returns: 563.8528176749674

  15. 965

    827

    138

    145

    Returns: 1270.8870917591382

  16. 910

    193

    180

    252

    Returns: 930.2413665280641

  17. 369

    469

    224

    44

    Returns: 132.0

  18. 108

    401

    136

    219

    Returns: 415.2890559598218

  19. 259

    294

    402

    277

    Returns: 287.1875448636172

  20. 420

    303

    486

    82

    Returns: 113.88898424276215

  21. 917

    420

    19

    10

    Returns: 531.607455851879

  22. 635

    256

    73

    294

    Returns: 684.6612300985065

  23. 634

    50

    274

    134

    Returns: 355.96855268165575

  24. 531

    134

    429

    288

    Returns: 406.64678397667967

  25. 114

    460

    5770

    9416

    Returns: 473.91560430101896

  26. 633

    51

    4686

    9670

    Returns: 635.0511790399258

  27. 21

    556

    5415

    9995

    Returns: 556.3964413976782

  28. 600

    61

    7785

    4824

    Returns: 603.0928618380423

  29. 283

    235

    8780

    4465

    Returns: 367.85051311640166

  30. 898

    958

    3010

    7780

    Returns: 1313.0757784682496

  31. 617

    831

    5699

    4165

    Returns: 1035.0120772242226

  32. 881

    817

    3156

    8756

    Returns: 1201.5198708302746

  33. 413

    675

    6107

    2132

    Returns: 791.3242066308852

  34. 387

    896

    2444

    6982

    Returns: 976.0046106448473

  35. 738

    226

    760

    391

    Returns: 402.8289966048179

  36. 408

    250

    1776

    74

    Returns: 148.0

  37. 19

    481

    1387

    744

    Returns: 481.375113606842

  38. 56

    484

    1045

    531

    Returns: 487.22889897870385

  39. 398

    153

    764

    876

    Returns: 426.39535644751106

  40. 834

    355

    270

    307

    Returns: 906.4110546545645

  41. 465

    867

    1672

    5

    Returns: 10.0

  42. 953

    676

    120

    952

    Returns: 1168.4113145634974

  43. 224

    509

    1035

    63

    Returns: 126.0

  44. 74

    137

    1806

    533

    Returns: 155.7080601638849

  45. 38

    86

    4

    7

    Returns: 94.02127418834527

  46. 434

    375

    6

    7

    Returns: 573.5686532578293

  47. 922

    391

    14

    3

    Returns: 216.0

  48. 44

    625

    16

    1

    Returns: 40.0

  49. 565

    172

    10

    7

    Returns: 413.60054182162753

  50. 628

    147

    9

    5

    Returns: 360.0

  51. 148

    919

    16

    1

    Returns: 59.0

  52. 981

    955

    7

    1

    Returns: 196.0

  53. 163

    119

    1

    10

    Returns: 201.81674856165927

  54. 563

    388

    18

    3

    Returns: 114.0

  55. 249

    645

    833

    52

    Returns: 104.0

  56. 557

    445

    550

    79

    Returns: 158.0

  57. 611

    174

    763

    50

    Returns: 100.0

  58. 572

    149

    416

    98

    Returns: 196.0

  59. 855

    96

    209

    77

    Returns: 332.3725937057735

  60. 897

    604

    822

    95

    Returns: 190.0

  61. 881

    487

    993

    69

    Returns: 82.64293570262544

  62. 922

    214

    130

    48

    Returns: 372.50937660437364

  63. 853

    871

    452

    85

    Returns: 255.0

  64. 660

    584

    809

    3

    Returns: 6.0

  65. 695

    958

    865

    17

    Returns: 34.0

  66. 977

    6

    368

    43

    Returns: 129.0

  67. 858

    461

    388

    54

    Returns: 162.0

  68. 822

    578

    169

    75

    Returns: 450.0

  69. 692

    554

    519

    100

    Returns: 200.0

  70. 351

    210

    624

    17

    Returns: 34.0

  71. 327

    568

    31

    1

    Returns: 22.0

  72. 384

    778

    396

    57

    Returns: 171.0

  73. 425

    132

    384

    51

    Returns: 102.0

  74. 813

    101

    421

    64

    Returns: 128.0

  75. 10

    10

    10000

    7

    Returns: 14.0

  76. 10

    10

    10000

    8

    Returns: 14.142135623730951

  77. 6

    8

    3

    2

    Returns: 7.0

    Make three jumps and then walk the remaining 1 unit.

  78. 10

    10

    1000

    5

    Returns: 10.0

  79. 6

    8

    2

    5

    Returns: 10.0

  80. 10

    10

    1000

    5

    Returns: 10.0

  81. 100

    120

    1

    11

    Returns: 156.20499351813308

  82. 100

    100

    1

    100

    Returns: 141.4213562373095

  83. 10

    1

    11

    3

    Returns: 3.95012437887911

  84. 1000

    1000

    10000

    10000

    Returns: 1414.213562373095

  85. 1

    6

    6

    9

    Returns: 6.082762530298219

  86. 1000

    1000

    2

    5000

    Returns: 1414.213562373095

  87. 3

    4

    5

    100

    Returns: 5.0

  88. 1

    10

    10

    4

    Returns: 4.04987562112089

  89. 7

    7

    5

    3

    Returns: 6.0

  90. 3

    4

    10

    1

    Returns: 2.0

  91. 1000

    1000

    2

    3

    Returns: 1414.213562373095

  92. 30

    40

    20

    1

    Returns: 3.0

  93. 6

    8

    20

    10

    Returns: 10.0

  94. 898

    1

    300

    200

    Returns: 600.0

  95. 1

    1

    2

    1

    Returns: 1.4142135623730951

  96. 663

    645

    10000

    3

    Returns: 6.0

  97. 401

    300

    150

    10

    Returns: 40.0

  98. 400

    300

    150

    10

    Returns: 40.0

  99. 16

    12

    3

    1

    Returns: 7.0

  100. 800

    600

    1

    999

    Returns: 1000.0

  101. 5

    4

    1

    2

    Returns: 6.4031242374328485

  102. 3

    4

    6

    3

    Returns: 4.0

  103. 55

    689

    465

    223

    Returns: 446.0

  104. 318

    445

    1200

    800

    Returns: 546.9451526432975

  105. 1

    1000

    1

    10000

    Returns: 1000.000499999875

  106. 1

    1

    1

    1000

    Returns: 1.4142135623730951

  107. 10

    10

    1000

    2

    Returns: 4.0

  108. 3

    4

    5

    3

    Returns: 3.0

  109. 1

    1

    10

    10000

    Returns: 1.4142135623730951

  110. 3

    4

    3

    1

    Returns: 2.0

  111. 3

    4

    7

    1

    Returns: 2.0

  112. 1000

    1000

    1

    100

    Returns: 1414.213562373095

  113. 10

    10

    12

    1

    Returns: 2.0

  114. 30

    40

    25

    40

    Returns: 50.0

  115. 99

    99

    1000

    4

    Returns: 8.0

  116. 1000

    1000

    93

    91

    Returns: 1384.213562373095

  117. 2

    2

    5

    2

    Returns: 2.8284271247461903

  118. 1

    1

    5000

    499

    Returns: 1.4142135623730951

  119. 1000

    1000

    1005

    1

    Returns: 2.0

  120. 6

    8

    1010

    2

    Returns: 4.0

  121. 3

    3

    2

    3

    Returns: 4.242640687119285

  122. 1

    3

    2

    1

    Returns: 2.0

  123. 10

    10

    1

    5

    Returns: 14.142135623730951

  124. 11

    11

    1000

    5

    Returns: 10.0

  125. 591

    739

    1890

    1

    Returns: 2.0

  126. 999

    1000

    7

    3

    Returns: 606.0

  127. 750

    1

    300

    1

    Returns: 3.0

  128. 500

    1

    240

    13

    Returns: 39.0

  129. 200

    200

    10

    1000

    Returns: 282.842712474619

  130. 5

    5

    5

    1

    Returns: 2.0

  131. 1

    1

    10

    20

    Returns: 1.4142135623730951

  132. 100

    100

    2

    500

    Returns: 141.4213562373095

  133. 900

    900

    901

    901

    Returns: 1272.7922061357856

  134. 2

    2

    100

    1

    Returns: 2.0

  135. 10

    10

    1000

    4

    Returns: 8.0

  136. 3

    4

    5

    300

    Returns: 5.0

  137. 30

    40

    5

    300

    Returns: 50.0

  138. 30

    40

    60

    1

    Returns: 2.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: