{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":61276,"title":" Interstellar Navigation: Minimum Time with Moving Hazards","description":"You are the pilot of a spaceship at the origin P_start = (0,0,0) at time t = 0. Your mission is to reach a space station located at G = (x_g, y_g, z_g ) in the minimum possible time T.\r\n1.Spaceship Dynamics:\r\nThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let S(t) be the position of the ship at time t, The constraint on its velocity is:\r\n                                         \r\n2.Moving  Obstacles ( Asteroids ):\r\nThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\r\nP_i0 = (x_i, y_i, z_i ), a constant velocity vector V_i = ( v*x_i, v*y_i, v*z_i ), and a radius R_i.\r\nThe position of the center of asteroid i at any time t \u003e= 0 is:\r\n                                    \r\n3.Safety Constraint:\r\nTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times t ∈ [0,T], the distance between the ship and every asteroid center must satisfy:\r\n                            \r\n4.Goal:\r\nFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return Inf.\r\nInput:\r\ngoal: A 1x3 vector [x_g, y_g, z_g]\r\nVmax: A scalar representing your maximum speed.\r\nasteroids: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\r\nOutput:\r\nmin_T: A scalar representing the shortest time to reach the goal\r\nP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 703.733px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 351.867px; transform-origin: 468.5px 351.867px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are the pilot of a spaceship at the origin \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eP_start\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = (0,0,0) at time t = 0. Your mission is to reach a space station located at \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eG\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = (x_g, y_g, z_g ) in the minimum possible time \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e1.Spaceship Dynamics:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eS\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) be the position of the ship at time \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, The constraint on its velocity is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 36.0667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 18.0333px; text-align: left; transform-origin: 444.5px 18.0333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                         \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"85\" height=\"36\" style=\"width: 85px; height: 36px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e2.Moving  Obstacles ( Asteroids ):\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eP\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i0 = (x_i, y_i, z_i ), a constant velocity vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i = ( v*x_i, v*y_i, v*z_i ), and a radius \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eR\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe position of the center of asteroid \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ei\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at any time t \u0026gt;= 0 is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.4667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.7333px; text-align: left; transform-origin: 444.5px 10.7333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                    \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"113.5\" height=\"20\" style=\"width: 113.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e3.Safety Constraint:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e ∈ [0,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e], the distance between the ship and every asteroid center must satisfy:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.4667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.7333px; text-align: left; transform-origin: 444.5px 10.7333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAacAAAAoCAYAAABafjUhAAAQAElEQVR4AeydCZhdRZWAX5POSkw6nYRAyNIBJLIaVlF2URECiIrAFwVRmBEZHQFRRwdwQT7UEcGNYcZB2VRwR8DBjR0EZJOdkJCVLKTTnWgWknTT/v/Nuy/vvnfv2/J6S25/Va/urTq1nTp1zqlTdau3yaR/KQZSDKQYSDGQYqCPYSAVTn1sQNLmpBhIMZBiIMVAJpMKp5QK+j8G0h6kGEgxsMVhIBVOW9yQph1KMZBiIMVA/8dAKpz6/ximPUgxkGKg/2Mg7UEBBlLhVICQ9DXFQIqBFAMpBnofA7HCqaWlpamlpeWynXba6UrClkzBH3FN+MT0zMa/ATvvvPPbKeN3U6ZMacV34Tvwc8j738TvBVgj75fw/lmeU1cBBsDXv4GvHwPaiO+3jj60QAPS12U8NxV2hLiS6YXwvflOP/ZiXJ7Cb8BL56W8MPPo3wPkO5/Q+dXQm+3fGusG9yMnT558DOHX8R/ffffdB22NeOiJPkPjp+CvYG58AD+u0jpjhVNXV9dQCvgA4ekDBgwYzXPEEV8yfcKECc004qbXX3/9z2RcR3jAnDlzGvCDGxoaTthmm222p4wngNlA+oX4ihwdPJw8P4eodqgkg3AQ3k/NVwl8X4ehLyPB2wxw+A4E/5u6q7377bffQPB8Af5S6qhICO6yyy57gOdf0sZdyVPWSVf05XQApTPpicdNrlz6Jsjef3r55Zefhrb3Zlx2pzUz8YXuItIb9cDsS+JThG+j/5cTzgLPd4I7hRRJ9XXMxaGMiQpiF+GXqimddl2K76JtRcoQZY0k7Rb8Op7Pp9x+I2Dpz9Hgfg586Fp4052M39XPPffcevpQ1mXx+VH6/Yj8pWyGfgBAn5rByRfx0mKoWK2kf29NaH4jYy4O7gYPLjjMY/hX3g8rzDN37tybofMfEf9V/BzyfpywrNumLESVADK2xsbGb5LtJPwzEMHZ8+bNm8OzrhNCeHrUqFEn01gb2mlkBX4AiPt38nwd2AsobzFhWSccxHce+T5vfjIMwPdbR1/eSl/2pwPbgVfxy2N9nYTa1tZ2I+Xv1NzcLDPrqKSGWbNmPUueC/E3QqAnkKfXmNXYsWOH04aKNTTaWhcHbc+ioEfwhe5vREjrAf0zhh/i/W68Tpo8AkZ5O22ebEQ9/cKFC9dCN9dTZifhO2EMI3ku63bdddcxAB2Ht923EkbogD7sQtyh+EGUew6MbHue+7yTNmiklppRhF+Bcf6esAtf0jEvFPIfhbe9BI1fg28umaEfJUIjbeDhy4zpUfjnsk0fAU06/tnXSNABrf9ww4YNxwD/h2zKZShfB+Lvzb5HAuKfAmefInIA4fngc0eeS7q6C6fW1tb9afD7s7U+RqOWZp9zwWOPPbYBAaVWfk0uMuFBYcek/Rpl/gsgp1DePMKKHUhfAvDHzE85/UrDo935zhXMaUQE5gcG+P30p64MmNXPhIEDB/6OOlaMHj36U44TzxU7lIHnAf4E/nswwfcR9oobNmzYG6j4XvDzC/xUnnvKyeReK1cZE3slML/A5xzj6arrk7mIOj5Q9sMUN5858GZCzekEpd369etVglydz+no6LivEJqynNevGM/zQ2PGjGn1uXLfO5DQxkTauxu1ryCMUyRIijoE73uZFzcRO5U8wwi3SAdvnQ+tPJ7XuROYP4k8BuG0DfDypVcRZDeTT/oniHcI9mdIkWZ2GDRo0BSeS7q6CycaeSQ1jsDr1ApjNWgZH7D/BdB8fJJrQIs/l8QzQMJZIK+sYIIpHoLJ62Dy5Fw235lEfJL0XmOa1F+zm8QfE0NNNSxjN3AirsP3zQrBy8jOzs4fUsha6vms48NzolNpYDV6KhM3YmIF14+Q/zzapo35wMQCujEBZqqJpp0qVJKeZYLdAfpk/kR1r6PfL1VYQxHdk3efrGZfYRGVgaE0zAXydvy21PEBwnKOIWyYDpCK0B1o1ot4jjhWygtZWe8L0x7LmH+4HL1EMvfiCwxS4TKEJnTRydcJy7mGbbfd9nb6+B6Uiv8AWDwSbHmO1fJoerU3PnQleQxj717xFPD42Lp162aHmZJChFkn9CfOpUNXrkmgQXzdhROl5u85vAvGcABxsW42fyT8Fh/ryPsOEr6Mv5oVUFktB81/Dzr/I8wMIplsmxzE9VferiP9KhjqPjz3K8cezDE0eCI+dAMQ7qezPC7arwkBqggbwJkmvLeQ52ImoZo9j4lOpeF06r8IgVZEQ6yKHdMHyX0NYzKBsEfdK6+8spzxPpixPpGKFRZHgz8PLNwBTTn5YhUmYHvMMaGXUNkKfE84UNElU1Vovx0cJGrDNgaaGk/4bvx62nkLYaxGrECaOXOmKyZNf4BV7xTGtOdDKDoPEP4d7/5FOX989TXVnKMrbz9KPNTc15pb0EMZUepcKe9MdY65/SzJY1j9uAKdBO+4GwVmLfnq6ooYS11Lz2S2o7w70MpnELqKIog4B/ubMLk7I7G87LjjjgqYr2QymSV0Xo1eWFLiHQJnNxjlr0gdTOjykceI68qWs5r6PqfmH0ntwy/gz30C95iW5zcTjnMwTHdaflwtzzCEQ2BCH6W822DqfylTRkNLS8uHgfku8M9ClJp3eN3kZFrg+tvETGIsPkbYG8KgE4XmFvqzJ+3MCSna8jj9vY8+KIh7o100IXAj+VWLJ9joGIM1aOmRvZ2NKZv/CyN5lFJewO8KPkoqZ6wuXKFPAc48KnVkq7uTjk4ZPnz4y5R8A31/G6HmWILU9QYGmLOOwd8Jnbua6DPQQCKPIU3LzQb4qYpo3Ztcd+EEkbn5m9/QUXTixzCEZ2AI7yEhIqRgHvPQ1J0EJG1yLBnfyZurrkcxSyzgOckNgHnPAEEPAOCq7W88F5khSMtky7GuYzAXHmRcf/AQiwchRoDHC2iv2i9B4Ny0VPBvDpNtpNyzKc2y3G9KZI6sgkYwjt9jjP8P+KHk8zRmLDxpMkIJ/HTMrGpjZOkVVyikbNPB9OEh+vII3tNFm4O/Wjvl6kWzWX7+OxCoZfes8jNU+uwKhz7/GvhBhB5amU3fYz3p3wNOrfmPzM2iVbSKHXPujcznUyjjAlc/wFfjGsjvQaUbyTQWWpmN/wj1NsEPGirwHtAga+rqhQHGcgj4P5RxeH7NmjV/5fmX2bLlC0U8RnjStULMRplxrvNaX1d34YRg8PRGnHB4Ex3+DcT8JF7BExFS+d3CrDCUcjxm7MmORAYIgU+nrFYQ6lHXUdkyjqOetcS/iJcBZKODoANYy5PRf4SY3mBKVFuVs40n0+47wMmvCRWu+QVMZ9VY8zFkBIfjovl0Mauc/M3Q/DoaIcYrSHfldg4JwdiB56vBsSaYHxAXcfPnz3fPx414V099YZ8vFFLTwKErKVfXbvrfQx8eAQ9vpwNBvwjr7/JKlL55/SA+3z3DKlhzSn5cXZ8ZP0+m/Z1CtUrsRJjkTX+V8Y0c2pg4ceJ46OAqFLuF4HAm6TcR7r5s2bLVlFWxA9/Hk8/Tum6m37B69eppCOVr4wRhxYWmgJuFARRgTblvZkwfYjxXETr2r2YLLeIxITzp96L4yBd4rK+ru3Bio9Qjxd+gmbEaNfF74v8Agaq5xmqtTNIWiHcacOthyIkbbRCzG5UKJVdk2khXg9RDs5rXVMIik1O2PG3ph8IkHBCq6btOwUOfDoAYbqO/K3n+SUFrp9CnYwviKn6FYXl4RPPrssGDBy9LyNgB8zgPfA5iXPxeQbCHydtMnJquJymNi3hgw2OpR9egXUfKquNLrJACv3+GJp9saWmRlrpNSDGenlT6IbhxDzHs1n28H8/cWRhGdEfIeD0J/WhhyFDf2dmxc/xynno9bZkBrmiTe8GCBYugg3PI+zngAgftqeyVNLkHgNkfFEq/1TO/K+8fNTc3nykzzCanQS9hAJ4rXx7DuN9lE2bPnv0C4/wnn/FFPCYL7+cDfyS94vEHtmJXd+FkzRDwdwg9HfcPwiSn1vpniPU8AFwdEGx0dNyNNk+BKWzUwDcmJP8eRZIMpewSE+RbnpreJOzw1kPWvuuY/MfS5gUyFlsJE9X0Fn43ZpSMZgZ4dA8jeK/ih6IbDhEeQmxtb28vaVLyNA8Z9hMe/3B2dcRjvAM2WEET7uYR3nioXouNE1J70lZX97Em6M1o6Q8QfJrQWhnPReD6VMuyLt4PQUgcyZzxRJ3R3ebZH1xL3R6MyFDve1DOIodpVCBID1e5PxY+rjG0e59sfKnVdhakKDiA/M79RZiDLnd/sgiiZyJe6+joWNMzVfWLWuShreDEPUAb7OLiBh6CbQTGbPqECRPy6UX4JfAlLRCAlXcovxsoR95bHhiIbhFOlNvFhLueCbAHz55/t6M8Fjn3O74KYw0nRAAAA/YDP5luG8gKGFyQEPMzadIkV05ubpv6IkvMkiegQI6rKWG091f0zYcF94YHL2qZM2AYt4eMgn0zmVjAYMI20af9wVnS19whWGbHHXccDZN0xfo0+0cTYEYe6QxWj5SxoJwGy1iEp3nUrMuenqTM8ESaK7OaTY+5DnTPg0dbbeeqsHjw7cb8KPZW6jI/wMMXKFuTqeYyHjc66nm1qalJPLrq3xgZ81s4bjEgFUfBTP4f4AXUfRDMInK8HgViL9qq4JgDXOwm99SpU8WN30s5P92fKLUfTFVRR71uorsC/z0rxXBlHQXqxjfql4ZHEc5BCS7JW7qxGX2q6DweGtmvZ77fAz24MnascwcjkuDLdUreDN5DYVZ2z78uky+pUSwNFyCk1BJdMrrBFieklMZfcAKG5YCQN4bP5cKBAwdqN/cghAgUkXF15IrJO2svfEUMk/2I/WDqbXj3V2r11+YaUfnDAYCOg1HIUHgMHOObOxYcRPCjoPUDXW34vMY78Or3HTLI7cDD2OHDh29LXMVHvRGAnubZltIr0pgpW8bvkn8Az5PI15dcAya8tzCmD9K2h2jYQSDWjflTR48ePYWVzLX10uopdxmM0KP6hczwjOXLl0cUM9pR5GhfZNyKAKqIYLXrh5Z+VCuDjhzJRpk8jqLcj/0LSlCs0Hnttdekl2C+0a5gf4I81bjgZgDyfgTcv46vZT5F2l1p5dS1N2NxMfBzCS/QTM7zVu9CHgpO7oPuc9YTFWLmfHC7CEjKHYxg7LbnfVIhPHHlnHv+7jU+AeBZzL+jCSNWM95zrq7CSTMBFR5hmKuBBwTUi/iT6KhErZCKaIp0cipaXL6JbSDZKnLkDTQhgNthAIWHBYgu6WoxhZUssI6JDfTN/Q/NZ/Pzy4WJ/IW0SF8hmLL37UFsr6xatWofiHEPmM+TjMc2lKM5NL/4pOdG6lCrVqiX1ZhjCukruC4SSrTVa7ZOZGJOxd9cL6FEuTnHKsG92EuIyKd9T859hTnTQnyiKxy3RMDKElTebgW0k7F/d1YLzsC4PTzktVOacTTnCAdY1DHHvBtQk7v7tsH+RBSib76x16di9r4YggAAD71JREFU9QNo2BXy6dC/CknfbGwPtwrl13k9CL5StFoGX46xJ1xtVXAwIksDWl1Ucoyv2IP3F8h/GrQn//o+dKeiEcuD6iqcqLSJzlxGGDvZaBgyao4XfZ5Fb/I/2rKjo4ir1vnxqLZP881kNRDaS32vm2cF+BgNb8Y3bIY/o5oGMZnE4XTwOYMB9CbrnIbJwHr1ipMtv8iK7tvTdMfy2g8nXdHk5y/5jMIh8wr2GmhTLRpzyfJ7ILEBPB6G9wYLGZNmhUAoMaaeFvOkXL7gqHuTVq9e7dHpcJM5LH9X8Pk1TIglFbJaxy2sJD+kvpDh7ANDCkzi0JRjq/LoKTw12/wsuWfgjsi+LMXsU8t88/oai/gOeK91PilcLaNiD+95sLm5+RAUMj91uQuTuSvZRK294oL7P6BKpzx08fr16yN72XaNMVoKvbig8NWDEdPBofDPQwtVHyFn/p2GMPSo+jBobz/K94P92HlXV+Fk62nwWCr1WK6vcb4L7fQ6OuwHtnHpxsXd7Gx8xFe7QR/JvPElnCgb3/rQLzg8FlyuQdDvCTGML/Tgz6uBIisq4BPv20M7H8KE3JXQb1P8yDIzZMgQj4xWdEIse3hE01xNGjP96S1c54QSw3sPXi3xUdpzFBNjGrTY7UKJOgOngGGMvsiLh3IIcu6ktra2U3JveQ+MV9G45SXX9Ei/PSJ8N5k1B5+cFYyahX3/Lenuy5IcddlVVrhPG9mfiEImv0G34T5T2ZsqkkupLcUVMePuaVdXjafCKN0LLVHYlp+Up3Q+wQo9dtwZs/xj5efzrjlOi04hHZdE2Lhx49wS8NJjT2reVM6sWnfhZOuYgOVOj6m1uz/kwQSzLIb5eqOzz262B3fogYSReDX2IL7wB81Nk54feCp5La8QpOidtg2lTCeh5qkIcy8C7qUIhEhwEIKJ9AvNQWh9iws9A+uyWK0jv5Wxd2FBgN6g7P2ED9H3a8B1sDf14osvunqVUVnG+Czx+FzkwVuwkU3CfDSscJnPa7Ijj/uJ4lpTUSzhJ+fe7JRCoeTK4AHadBDM90BWw95KIt1sdkXVFIAwdOXmpxb52TRrXMreZnAQKExIGrcwfTNC75XzoJKnYY9ob28/HLpQYfF2gNuSyoUevTXd+ebcuY++5PYnkvIUxqM1azpSQ9eM7/eOhSDd+k4/ZaieGFOJdv+sW+vr64WHSifzQv4Za8plrkSOldMnebLwPFbuUIbdz/SMgDy+cP+1qKBuEU4QgKYCj5IXVZgX4R7EMN9BzF0wX+9A89WGu1yUiBqZEInmDpispi2l8as8v4QmNBn/jfHjxwflBoUV/LDfovlwONFeY/QsYZ9z9MUbISaBRzWWpPblGEwegEzOy23FbS4ajaiNMv04Wnu7/8cm1F7doFTICTuoqakplh7Gjh07nDHSDCbcC42NjcvR6E9EiPohs3GxnjyjSHB8ajUBkb16R9uaoAO/v3ClpFDy49N9EUqHwlD9MFjlqPqCK8jBmAUb/iVAu9atW+dHy5oW88G8o+ybCCQFehBfYtxMb8ByMEbPSy3mqacZH01c3g7tv6KZyPuja9aseZryYh1z0dO3Y0h07jxoW8HzpX6cS1xFjnnuYQRXq9LqRYyV5uuK8vY3IOcN+BmXXZlW1HwUlIn4g+PyGGcaPv+OzbBc/7nrduDTy1jDuLIhY67SuYax9TRpErxCy31IlUxhFqFkhKfufO8WH8uM6lCTNztcCPPyZuOi4kQyzNIrMdwQfo4J7VFbERDAZveONO2JaO3gQXzBj7ZSTTRqcc8jdP4Boq8A5tZFixYlfr/Q0dHhUn4EcHOAzwlE3jfH1S2vuAEf7k/5zVawgkwqHCGhEI98pExecaJNOJINWDWWcfR5Jrb3tjARolSTVZPcae3atWPD+Pxw6NCh21FucIKS/PfxvDf+LJhs4cotP1sGmGAlQPgM413R/+CKFFDjC22UwTuBtZXvgVB6N/4pius2oUTZoYsoBmFkfujFtLx7asyVK485dxzj5L2FuQje48bNVeEFzJMl+GUwpNuYa2XrzRXKAytvryVSSDh/POTgeP1K0yPJsQ68hkfPZ69nf4K2fQbA9gULFlQztipVV0ITKkjut/0GZhvQCWVtMQ6hdODw4cOdm0sw2c5lfJyXJfsHzDuYJ8/i7yePV4QFFg4zqQgQ9xPT8H9jzENlMSPPoL6riHd/qJW0q4wzXymfNdMexbguR9iUNO/DJ/IPYdVk0i3Vlri07hJO1jWKTv9GROHVjtTuGiREkPxTiNPridQe3wvjiDDh+fPnt5N+h4VQxoGGhZ7B8Eh08L0Faf67h6tB4P2UdT/viQ4YNWm1truBDU1aifA9nNCQPVrsqakhEIxHiMs1YV0BwCDeLwE/mmB43OjAoxqSysCd2t43xga/oQY9DmYjIwwi838YC/8nUvA9VBZ/MpcvZZlsPmj+s6cNA6ZH3bnvtPIBuusZ7d+Pvw9jfE/Cv9hd9RSWC3NRgMd9b3aSWnQ+PO36E3j5n/w4nj1y/2XGLkfzwBSNG2V5gMhbw6VjhcrRwB1O/qoc+5l+0B3OAf8nzz1lCghWhdS1LcrgFdDF7nhXgVUJffo+jzJcdVv3m2Gqj8MjLqbfmovKNKH3krOr1EBA0+83MF/kQbENon9HkKAiTJBxz9hrv+SBvid59/P8jsz0g8BHrnzwrULtXXamjWIe5uistbV1DPWFCqk0dOqKFStCWOFjPePv4sH/v7eW8vzsIxbOSJUZ+ux+ncrMbVggqjbpWk41vjuEk9JbjchVj5c57kKn/PDTbxo2wHDvBpFeS3Q4RHoInXaFVNRmkPVzIrVLHpElCl43uVWrVmkvV/vqpPzRlHkDZblySpwoTGrNUw5iO+VfS2mJsKT1qHO/B+b2K/riPzVT838LuJoHgT5JvESba4/vxD+O1vwykX4LRbDJgQsn0NNMeC90zRAq5CTWdtJCM16QAZypQbtkd7V7fBBZ8EObFhPldy+aAbfn/QzyRcohPeLQ9BRmanfPg+uSK6xIxjq8qP1DWz22x+V44D0q7l5c3Er/dLTodsbsfpSzkGF1wdwup7uF5hHT76a8c5LGjf650r2VvOHKy7Fz/5Woyh0r39mM5WPZHPfMnj3blXj2NTZwJfoP8oyHjvws4SzoQPqJBS4Vyfg8glCSgdv/N1Cm/xpnCTjqqsDH0mmp+jYnjbHYC38lq8UnKSecb9sxP71N5HLSvJsyt8oBxhs43NP0g3lf9ZPhP5q4fY714NT/qqCpVRx/GxwpvANYn8GRykwHEfcxp+SPPGYyY8aMaSXNbyFNM24UuHX++VzkJ0+evBu05Vh6FZkKjt+h/p64zzFv5T1FeYygTJWZJxBqJee+sPXwdRVO8+bNW4xEPRiCfQm/EoTeiH8Xfnt8A76R9An4GWyyecdXZ1InZs2apeDxX2W8CVOcd/BFQJmgq6jDVVcj5frR5M0AlBQ2MIh9GMT9IYLrqL+UjZWietYtXbp0dbY/4in0w+jbNOIj+wC+E+8eygjCELYwHAGer7YXEJWE6ipzFhugmhqMznmEnITuv0Z4J8xTc1guzQfKeZJ6puAH4o+k/liFQtjQo+mp8U8G198B1wq2MGmLC8HH03jNh9Ji4TiE7+LuEHCRYzjQ+ELwuRc+hAnDYZSnmSZp3LoYkyvJN4zxHAFN34UvJ1iK8M6e1lrqOZZyrPdkAELmxmOxA+5WvDQ3jPrPcw4WQ1UeA794HhOzq+sTaL/M1RVv5QX0ECQ4cnzPpc8T6L+4Cjzvu/D+adL9PCCCO+IeJc0542rpPzOZzDzwpVLBY7wDfh5+Gn4E+a8CKp+fdRH3LdKko8OkHdIDpyWE+E/iByI4nL9PILxU7IP0wh/xTtvfLzw+6AvhNOK+Lk0Uwofv5ANszr7QcKjQhEndEtZVONW5hV0g+LuU6Xn6z+TfIEFc1S6rEXyajF5bchlh/sDzuuU6NHTNdZpMvKx1KBqSJqFch7PmuYuJaEGQ/SuhE4qgNoeAU/u/gNy/Q7G4jrBHHZrhDvRx1pQpUyrRwmNhzG85PdrwgsrKjZvgrH52RwFAqV+vsmdUv/JZxnorjFchqeALmWWp0FVjv+gnqyr3At+G8HWV0u08h/nmRc7PNjU1ucfaL3CU1MgahVNScfWNR0KrZcosdxo8eLA3X9fKNBsGDhz4CSax9tWzsuXWt7F9uzTNgt5nNhvhczHaVe7YfthsVCK1P7/BORvGnNvzCNMrDd2IpQ5vQjDLp0ppYgKkviQGSo4bwncyTM9j6RdnFYyShaWJmQy06ca/t++7b+dp0m5DS3YufI0K7mF+3U/YrQ56OBB6cG/rQoV+t1ZWW+Fe0jCMrK3w4rLWlD4tnOhEhkHVNv1eOnMOTNOTTFULKLSX9zFofudzPBpaj9hLbXtf8eDOD2A7wMGZ+P9FOBcJJ9raBa6/Rfrl+GtZNfgdCtFVuYa2trZzybE3AvA4yoscdCG+RxzmB83LmlxKad8l0zBx7GI5PdLghEpKjdukSZNcMV1BVs05Xh7LY+rKYQCa9H8P3QvcIATVDAUIz3V37iG3t7dr+XmYOr9FBd26amK+akb/NNamD1Ffr8w7+ljKNcATvI5tB+j6qdWrV8fxoEj+Pi+cbC1M4kEIya+SP1GlgGoAXqF0NvmnU07itSzWs6V6iPVneG3VeyGc3VtK6mon6X7z4hVUN0LwFQsoJzm4vgjC24c9rOn5NvGkyno7vq/Xz5gljtv8+fOfQ4C+D5h+b77p4XHwUM9F1HkzStgHESA/U9DzXrXSS55El91DPpsx8uBV4t56YgFVJsDb7oIWTkHxLLsiqbLozQbHzD8R3vB9eIOHXryZ5Ez23/zmsmTZscKJQfMU0M8Jr+/s7FTTiBRCfMn0CHCdXkD+89hT/Yq9nZWQxyrLlpyFa4dZngCR5J+cKZt3KwZwBXU9Y3wi3uPoFU3alStXuqf1CHg+DVNeWzn8SVeU743H0pn0FMlSLj0CnL6kGKgCA9DoEhj5qc3NzcNhmGcPGTLE7YMqSkhBq8EAc9lvUC8B1yPB+5HgvyJeHCucyLwC/3m06HMJiwoirmR6ppv+YHprqfsW2lXR8VXhhDdfNzVpiy1WDQzc+a1ZReYIV0pZ+Iq0RGDnMj7nEn4eH15jlQn/iCuZHsKlYYqBWjHgvgzMcmktFyHXWmf98/X9EpnLK1hcaGqv6tuoWOHU97ubtjDFQIqBFAMpBrZkDKTCaUse3bRvKQZSDKQY6KcYSIVTPx24GpqdZkkxkGIgxUC/wUAqnPrNUKUNTTGQYiDFwNaDgVQ4bT1jnfY0xUD/x0Dag60GA6lw2mqGOu1oioEUAykG+g8G/gkAAP//0wAkTgAAAAZJREFUAwBHiFAyLetNBgAAAABJRU5ErkJggg==\" width=\"211.5\" height=\"20\" style=\"width: 211.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e4.Goal:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInf.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 61.3px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 451.5px 30.65px; transform-origin: 451.5px 30.65px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003egoal\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A 1x3 vector [x_g, y_g, z_g]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eVmax\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A scalar representing your maximum speed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003easteroids\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 451.5px 10.2167px; transform-origin: 451.5px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003emin_T:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e A scalar representing the shortest time to reach the goal\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_T = solve_navigation(goal,Vmax, asteroids)\r\n  min_T = cumsum(goal,Vmax,asteroids)\r\nend","test_suite":"%%\r\n    fprintf('--- Running Test Case 1: Clear Sky ---\\n');\r\n    \r\n    Vmax = 10;\r\n    goal = [60, 80, 0]; % Khoảng cách là 100\r\n    expected_T = 100 / Vmax; % 10 giây\r\n    \r\n    % Đặt thiên thạch ở xa, không liên quan đến đường bay [0,0,0] -\u003e [60,80,0]\r\n    % Asteroids: [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        100, 100, 100, 0, 0, 0, 5;   % Đứng yên ở xa\r\n        0, 100, 0, 1, 1, 1, 2;       % Di chuyển xa dần\r\n        -50, -50, -50, -1, 0, 0, 10   % Ở phía sau lưng\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Expected T: %.4f\\n', expected_T);\r\n    fprintf('Actual T:   %.4f\\n', actual_T);\r\n    fprintf('Runtime:    %.4f s\\n', runtime);\r\n\r\n    % Sai số cho phép nhỏ vì đây là đường thẳng lý tưởng\r\n    assert(abs(actual_T - expected_T) \u003c 0.1, 'Failed: Clear Sky should follow straight line.');\r\n    disp('Test Case 1 PASSED!');\r\n%%\r\n    fprintf('\\n--- Running Test Case 2: Moving Interceptor ---\\n');\r\n    \r\n    Vmax = 2;\r\n    goal = [10, 0, 0];\r\n    ideal_T = 10 / Vmax; % 5 giây nếu không có vật cản\r\n    \r\n    % Thiên thạch này sẽ chặn đường tại t = 2.5s\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        5, -4, 0, 0, 1.6, 0, 2\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Ideal T (if no obs): %.4f\\n', ideal_T);\r\n    fprintf('Actual T:            %.4f\\n', actual_T);\r\n    fprintf('Runtime:             %.4f s\\n', runtime);\r\n\r\n    % Kiểm tra tính logic\r\n    if actual_T == Inf\r\n        disp('Result: Goal unreachable (Safe if no path exists)');\r\n    else\r\n        assert(actual_T \u003e ideal_T, 'Failed: Ship should have detoured, T must be \u003e 5.');\r\n        fprintf('Success: Ship detoured. Extra time needed: %.4f s\\n', actual_T - ideal_T);\r\n    end\r\n    disp('Test Case 2 PASSED!');\r\n\r\n%%\r\nfprintf('\\n--- Running Test Case 3: Goal Unreachable ---\\n');\r\n    \r\n    Vmax = 5;\r\n    goal = [20, 20, 20];\r\n    \r\n    % Thiên thạch đứng yên bao trùm luôn điểm đích\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        20, 20, 20, 0, 0, 0, 5  % Bán kính 5 bao quanh điểm (20,20,20)\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n    fprintf('Runtime:  %.4f s\\n', runtime);\r\n\r\n    if isinf(actual_T)\r\n        fprintf('Success: Goal correctly identified as Unreachable.\\n');\r\n    else\r\n        error('Failed: Goal should be unreachable but algorithm returned T = %.4f', actual_T);\r\n    end\r\n    disp('Test Case 3 PASSED!');\r\n%%\r\nfprintf('\\n--- Running Test Case 4: The Moving Wall ---\\n');\r\n    \r\n    Vmax = 2;\r\n    goal = [10, 0, 0];\r\n    ideal_T = 10 / Vmax; % 5 giây\r\n    \r\n    % Một \"bức tường\" gồm 3 thiên thạch chắn ngang trục X tại x=5\r\n    % Chúng di chuyển đồng bộ để quét qua vị trí (5,0,0) từ t=2 đến t=3\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        5, -2,  0, 0, 1, 0, 1.5; % Chặn dưới\r\n        5,  0,  0, 0, 1, 0, 1.5; % Chặn giữa (đúng điểm tàu định đi qua)\r\n        5,  2,  0, 0, 1, 0, 1.5  % Chặn trên\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Ideal T:  %.4f\\n', ideal_T);\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n\r\n    if actual_T \u003e ideal_T\r\n        fprintf('Success: Ship waited or detoured the wall. Extra time: %.4f\\n', actual_T - ideal_T);\r\n    else\r\n        error('Failed: Ship passed through the wall!');\r\n    end\r\n    disp('Test Case 4 PASSED!');\r\n%%\r\nfprintf('\\n--- Running Test Case 5: Start Inside Obstacle ---\\n');\r\n    \r\n    Vmax = 10;\r\n    goal = [50, 50, 50];\r\n    \r\n    % Thiên thạch nằm ngay tại gốc tọa độ (0,0,0)\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        0.5, 0, 0, 0, 0, 0, 2 % Tâm tại 0.5, bán kính 2 =\u003e chứa luôn điểm (0,0,0)\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n\r\n    if isinf(actual_T)\r\n        fprintf('Success: Detected unsafe starting position.\\n');\r\n    else\r\n        warning('Warning: Algorithm allowed starting inside an asteroid (T = %.4f). Check logic!', actual_T);\r\n    end\r\n    disp('Test Case 5 PASSED!');","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-03-18T14:12:35.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2026-03-18T14:12:35.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-03-17T13:41:32.000Z","updated_at":"2026-03-22T17:45:12.000Z","published_at":"2026-03-17T13:41:32.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are the pilot of a spaceship at the origin \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP_start\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = (0,0,0) at time t = 0. Your mission is to reach a space station located at \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eG\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = (x_g, y_g, z_g ) in the minimum possible time \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e1.Spaceship Dynamics:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e(\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) be the position of the ship at time \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, The constraint on its velocity is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                         \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\left | \\\\left | \\\\frac{dS}{dt} \\\\right | \\\\right| \\\\leq V_{max}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e2.Moving  Obstacles ( Asteroids ):\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i0 = (x_i, y_i, z_i ), a constant velocity vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i = ( v*x_i, v*y_i, v*z_i ), and a radius \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe position of the center of asteroid \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e at any time t \u0026gt;= 0 is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                    \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\textbf{A}_{i}(t) = \\\\textbf{P}_{i0} + \\\\textbf{V}_{i} \\\\cdot t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e3.Safety Constraint:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ∈ [0,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e], the distance between the ship and every asteroid center must satisfy:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\left | \\\\left | \\\\textbf{S}(t) - \\\\textbf{A}_{i}(t) \\\\right | \\\\right | \\\\geq \\\\textbf{R}_{i}, \\\\forall i \\\\in \\\\{1,..,N \\\\}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e4.Goal:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInf.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003egoal\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A 1x3 vector [x_g, y_g, z_g]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eVmax\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A scalar representing your maximum speed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003easteroids\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emin_T:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e A scalar representing the shortest time to reach the goal\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":61276,"title":" Interstellar Navigation: Minimum Time with Moving Hazards","description":"You are the pilot of a spaceship at the origin P_start = (0,0,0) at time t = 0. Your mission is to reach a space station located at G = (x_g, y_g, z_g ) in the minimum possible time T.\r\n1.Spaceship Dynamics:\r\nThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let S(t) be the position of the ship at time t, The constraint on its velocity is:\r\n                                         \r\n2.Moving  Obstacles ( Asteroids ):\r\nThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\r\nP_i0 = (x_i, y_i, z_i ), a constant velocity vector V_i = ( v*x_i, v*y_i, v*z_i ), and a radius R_i.\r\nThe position of the center of asteroid i at any time t \u003e= 0 is:\r\n                                    \r\n3.Safety Constraint:\r\nTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times t ∈ [0,T], the distance between the ship and every asteroid center must satisfy:\r\n                            \r\n4.Goal:\r\nFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return Inf.\r\nInput:\r\ngoal: A 1x3 vector [x_g, y_g, z_g]\r\nVmax: A scalar representing your maximum speed.\r\nasteroids: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\r\nOutput:\r\nmin_T: A scalar representing the shortest time to reach the goal\r\nP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 703.733px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 351.867px; transform-origin: 468.5px 351.867px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are the pilot of a spaceship at the origin \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eP_start\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = (0,0,0) at time t = 0. Your mission is to reach a space station located at \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eG\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = (x_g, y_g, z_g ) in the minimum possible time \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e1.Spaceship Dynamics:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eS\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) be the position of the ship at time \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, The constraint on its velocity is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 36.0667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 18.0333px; text-align: left; transform-origin: 444.5px 18.0333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                         \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"85\" height=\"36\" style=\"width: 85px; height: 36px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e2.Moving  Obstacles ( Asteroids ):\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eP\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i0 = (x_i, y_i, z_i ), a constant velocity vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i = ( v*x_i, v*y_i, v*z_i ), and a radius \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eR\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e_i.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe position of the center of asteroid \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ei\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at any time t \u0026gt;= 0 is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.4667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.7333px; text-align: left; transform-origin: 444.5px 10.7333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                    \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"113.5\" height=\"20\" style=\"width: 113.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e3.Safety Constraint:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 21px; text-align: left; transform-origin: 444.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003et\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e ∈ [0,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e], the distance between the ship and every asteroid center must satisfy:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.4667px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.7333px; text-align: left; transform-origin: 444.5px 10.7333px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"211.5\" height=\"20\" style=\"width: 211.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e4.Goal:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInf.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 61.3px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 451.5px 30.65px; transform-origin: 451.5px 30.65px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003egoal\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A 1x3 vector [x_g, y_g, z_g]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eVmax\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A scalar representing your maximum speed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003easteroids\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 451.5px 10.2167px; transform-origin: 451.5px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 423.5px 10.2167px; text-align: left; transform-origin: 423.5px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003emin_T:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e A scalar representing the shortest time to reach the goal\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_T = solve_navigation(goal,Vmax, asteroids)\r\n  min_T = cumsum(goal,Vmax,asteroids)\r\nend","test_suite":"%%\r\n    fprintf('--- Running Test Case 1: Clear Sky ---\\n');\r\n    \r\n    Vmax = 10;\r\n    goal = [60, 80, 0]; % Khoảng cách là 100\r\n    expected_T = 100 / Vmax; % 10 giây\r\n    \r\n    % Đặt thiên thạch ở xa, không liên quan đến đường bay [0,0,0] -\u003e [60,80,0]\r\n    % Asteroids: [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        100, 100, 100, 0, 0, 0, 5;   % Đứng yên ở xa\r\n        0, 100, 0, 1, 1, 1, 2;       % Di chuyển xa dần\r\n        -50, -50, -50, -1, 0, 0, 10   % Ở phía sau lưng\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Expected T: %.4f\\n', expected_T);\r\n    fprintf('Actual T:   %.4f\\n', actual_T);\r\n    fprintf('Runtime:    %.4f s\\n', runtime);\r\n\r\n    % Sai số cho phép nhỏ vì đây là đường thẳng lý tưởng\r\n    assert(abs(actual_T - expected_T) \u003c 0.1, 'Failed: Clear Sky should follow straight line.');\r\n    disp('Test Case 1 PASSED!');\r\n%%\r\n    fprintf('\\n--- Running Test Case 2: Moving Interceptor ---\\n');\r\n    \r\n    Vmax = 2;\r\n    goal = [10, 0, 0];\r\n    ideal_T = 10 / Vmax; % 5 giây nếu không có vật cản\r\n    \r\n    % Thiên thạch này sẽ chặn đường tại t = 2.5s\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        5, -4, 0, 0, 1.6, 0, 2\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Ideal T (if no obs): %.4f\\n', ideal_T);\r\n    fprintf('Actual T:            %.4f\\n', actual_T);\r\n    fprintf('Runtime:             %.4f s\\n', runtime);\r\n\r\n    % Kiểm tra tính logic\r\n    if actual_T == Inf\r\n        disp('Result: Goal unreachable (Safe if no path exists)');\r\n    else\r\n        assert(actual_T \u003e ideal_T, 'Failed: Ship should have detoured, T must be \u003e 5.');\r\n        fprintf('Success: Ship detoured. Extra time needed: %.4f s\\n', actual_T - ideal_T);\r\n    end\r\n    disp('Test Case 2 PASSED!');\r\n\r\n%%\r\nfprintf('\\n--- Running Test Case 3: Goal Unreachable ---\\n');\r\n    \r\n    Vmax = 5;\r\n    goal = [20, 20, 20];\r\n    \r\n    % Thiên thạch đứng yên bao trùm luôn điểm đích\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        20, 20, 20, 0, 0, 0, 5  % Bán kính 5 bao quanh điểm (20,20,20)\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n    fprintf('Runtime:  %.4f s\\n', runtime);\r\n\r\n    if isinf(actual_T)\r\n        fprintf('Success: Goal correctly identified as Unreachable.\\n');\r\n    else\r\n        error('Failed: Goal should be unreachable but algorithm returned T = %.4f', actual_T);\r\n    end\r\n    disp('Test Case 3 PASSED!');\r\n%%\r\nfprintf('\\n--- Running Test Case 4: The Moving Wall ---\\n');\r\n    \r\n    Vmax = 2;\r\n    goal = [10, 0, 0];\r\n    ideal_T = 10 / Vmax; % 5 giây\r\n    \r\n    % Một \"bức tường\" gồm 3 thiên thạch chắn ngang trục X tại x=5\r\n    % Chúng di chuyển đồng bộ để quét qua vị trí (5,0,0) từ t=2 đến t=3\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        5, -2,  0, 0, 1, 0, 1.5; % Chặn dưới\r\n        5,  0,  0, 0, 1, 0, 1.5; % Chặn giữa (đúng điểm tàu định đi qua)\r\n        5,  2,  0, 0, 1, 0, 1.5  % Chặn trên\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Ideal T:  %.4f\\n', ideal_T);\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n\r\n    if actual_T \u003e ideal_T\r\n        fprintf('Success: Ship waited or detoured the wall. Extra time: %.4f\\n', actual_T - ideal_T);\r\n    else\r\n        error('Failed: Ship passed through the wall!');\r\n    end\r\n    disp('Test Case 4 PASSED!');\r\n%%\r\nfprintf('\\n--- Running Test Case 5: Start Inside Obstacle ---\\n');\r\n    \r\n    Vmax = 10;\r\n    goal = [50, 50, 50];\r\n    \r\n    % Thiên thạch nằm ngay tại gốc tọa độ (0,0,0)\r\n    % [x0, y0, z0, vx, vy, vz, R]\r\n    asteroids = [\r\n        0.5, 0, 0, 0, 0, 0, 2 % Tâm tại 0.5, bán kính 2 =\u003e chứa luôn điểm (0,0,0)\r\n    ];\r\n\r\n    tic;\r\n    actual_T = solve_navigation(goal, Vmax, asteroids);\r\n    runtime = toc;\r\n\r\n    fprintf('Actual T: %.4f\\n', actual_T);\r\n\r\n    if isinf(actual_T)\r\n        fprintf('Success: Detected unsafe starting position.\\n');\r\n    else\r\n        warning('Warning: Algorithm allowed starting inside an asteroid (T = %.4f). Check logic!', actual_T);\r\n    end\r\n    disp('Test Case 5 PASSED!');","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-03-18T14:12:35.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2026-03-18T14:12:35.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-03-17T13:41:32.000Z","updated_at":"2026-03-22T17:45:12.000Z","published_at":"2026-03-17T13:41:32.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are the pilot of a spaceship at the origin \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP_start\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = (0,0,0) at time t = 0. Your mission is to reach a space station located at \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eG\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = (x_g, y_g, z_g ) in the minimum possible time \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e1.Spaceship Dynamics:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe spaceship can move in any direction in 3D space with a maximum constant speed V_max. Let \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e(\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) be the position of the ship at time \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, The constraint on its velocity is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                         \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\left | \\\\left | \\\\frac{dS}{dt} \\\\right | \\\\right| \\\\leq V_{max}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e2.Moving  Obstacles ( Asteroids ):\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are N spherical asteroids in the field. Each asteroid i is defined by its initial position.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i0 = (x_i, y_i, z_i ), a constant velocity vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i = ( v*x_i, v*y_i, v*z_i ), and a radius \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e_i.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe position of the center of asteroid \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e at any time t \u0026gt;= 0 is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                    \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\textbf{A}_{i}(t) = \\\\textbf{P}_{i0} + \\\\textbf{V}_{i} \\\\cdot t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e3.Safety Constraint:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo avoid dustruction, the spaceship must never enter the volume of any asteroid. At all times \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ∈ [0,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e], the distance between the ship and every asteroid center must satisfy:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\left | \\\\left | \\\\textbf{S}(t) - \\\\textbf{A}_{i}(t) \\\\right | \\\\right | \\\\geq \\\\textbf{R}_{i}, \\\\forall i \\\\in \\\\{1,..,N \\\\}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e4.Goal:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the minimum time T such that S(T) = G. If the goal is unreachable due to obstacles, return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInf.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003egoal\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A 1x3 vector [x_g, y_g, z_g]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eVmax\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A scalar representing your maximum speed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003easteroids\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: An Nx7 matrix. Each row represents [x_0, y_0, z_0, vx, vy, vz, R].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emin_T:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e A scalar representing the shortest time to reach the goal\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eP/s: Sorry for not being clean in presentation, hope you guys sympathize with me :((\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"non-linear optimization\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"non-linear optimization\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"non-linear optimization\"","","\"","non-linear optimization","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7362024ec8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7362024e28\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7362024568\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7362025148\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73620250a8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7362025008\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7362024f68\u003e":"tag:\"non-linear optimization\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7362024f68\u003e":"tag:\"non-linear optimization\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"non-linear optimization\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"non-linear optimization\"","","\"","non-linear optimization","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7362024ec8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7362024e28\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7362024568\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7362025148\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73620250a8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7362025008\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7362024f68\u003e":"tag:\"non-linear optimization\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7362024f68\u003e":"tag:\"non-linear optimization\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":61276,"difficulty_rating":"medium-hard"}]}}