{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.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":"2026-04-06T00: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":61251,"title":"Two Jugs: Minimum Steps ( Medium )","description":"Following the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\r\ninput: A, B, T\r\noutput: n (minimum steps) or -1 if impossible","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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=\"\"\u003eFollowing the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003einput: A, B, T\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eoutput: n (minimum steps) or -1 if impossible\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = water_pouring_2(A,B,T)\r\n  n = A*B*T;\r\nend","test_suite":"%%\r\nC = [3, 5]; T = 4;\r\ny_correct = 6;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [5, 10]; T = 5;\r\ny_correct = 1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [3, 7]; T = 5;\r\ny_correct = 8;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [3, 5]; T = 7;\r\ny_correct = -1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [1, 1]; T = 1;\r\ny_correct = 1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [4, 9]; T = 1;\r\ny_correct = 4;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [6, 10]; T = 8;\r\ny_correct = 6;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [10, 2]; T = 8;\r\ny_correct = 2;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [5, 7]; T = 3;\r\ny_correct = 4;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T17:59:51.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T16:38:44.000Z","updated_at":"2026-03-18T12:38:50.000Z","published_at":"2026-02-19T16:38:44.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\u003eFollowing the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\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:t\u003einput: A, B, T\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:t\u003eoutput: n (minimum steps) or -1 if impossible\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\"}]}"},{"id":61255,"title":"Record the Actions ( Medium )","description":"Find the minimum steps to get T units from jugs A and B. Return the sequence of actions as cell array of strings.\r\nAvailable actions: F1, F2 (Fill) E1, E2 (Empty) P12, P21 (Pour).\r\nExample: A = 3, B = 5, T = 1 -\u003e { 'F1' , 'P12' }","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: 81.4375px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 40.7188px; transform-origin: 468.5px 40.7188px; vertical-align: baseline; \"\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 steps to get T units from jugs \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; \"\u003eA\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 and \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; \"\u003eB\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. Return the sequence of actions as cell array of strings.\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=\"\"\u003eAvailable actions: \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; \"\u003eF1\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-weight: 700; \"\u003eF2\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 (Fill) \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; \"\u003eE1\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-weight: 700; \"\u003eE2\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 (Empty) \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; \"\u003eP12\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-weight: 700; \"\u003eP21\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 (Pour).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; 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.2188px; transform-origin: 451.5px 10.2188px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eExample: \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=\"font-weight: 700; \"\u003eA\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 = 3, \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=\"font-weight: 700; \"\u003eB\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 = 5, \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=\"font-weight: 700; \"\u003eT\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 = 1 -\u0026gt; { 'F1' , 'P12' }\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function history = record_actions(A,B,T)\r\n  history = A+B+T;\r\nend","test_suite":"%% Testcase 1:\r\nA = 3; B = 5; T = 3;\r\ny_correct = {'F1'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 2: \r\nA = 3; B = 5; T = 5;\r\ny_correct = {'F2'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 3: \r\nA = 3; B = 5; T = 2;\r\ny_correct = {'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 4: \r\nA = 3; B = 5; T = 4;\r\ny_correct = {'F2', 'P21', 'E1', 'P21', 'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 5: \r\nA = 2; B = 4; T = 3;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 6: \r\nA = 3; B = 5; T = 10;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 7:\r\nA = 3; B = 5; T = 0;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 8:\r\nA = 4; B = 9; T = 1;\r\ny_correct = {'F2', 'P21', 'E1', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 9: \r\nA = 6; B = 6; T = 6;\r\ny_correct = {'F1'};\r\nassert(isequal(record_actions(A, B, T), y_correct)||isequal(record_actions(A,B,T),y_correct))\r\n\r\n%% Testcase 10:\r\nA = 3; B = 7; T = 5;\r\ny_correct = {'F2', 'P21', 'E1', 'P21', 'E1', 'P21', 'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-20T04:31:53.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":"2026-02-20T04:31:53.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:36:44.000Z","updated_at":"2026-03-17T06:15:53.000Z","published_at":"2026-02-19T17:44:55.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\u003eFind the minimum steps to get T units from jugs \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\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \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\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Return the sequence of actions as cell array of strings.\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\u003eAvailable actions: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eF1\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eF2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Fill) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eE1\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eE2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Empty) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP12\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP21\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Pour).\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:t\u003eExample: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 5, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 1 -\u0026gt; { 'F1' , 'P12' }\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\"}]}"},{"id":61252,"title":"Total Volume Goal ( Medium )","description":"Usually, the target T must be in one jug. In this version, the target T is the sum of water in all N jugs.\r\nExample: C = [3,5], T = 2. Output: 3 steps\r\nPath (0,0) -\u003e (0,5) -\u003e (3,2) -\u003e (0,2). Total is 0 + 2 = 2.\r\n","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: 112.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 56.4375px; transform-origin: 468.5px 56.4375px; vertical-align: baseline; \"\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=\"\"\u003eUsually, the target \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; \"\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 must be in one jug. In this version, the target \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; \"\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 is the sum of water in all \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; \"\u003eN\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 jugs.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eExample: \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=\"font-weight: 700; \"\u003eC\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 = [3,5], \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=\"font-weight: 700; \"\u003eT\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 = 2. Output: 3 steps\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ePath (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2). Total is 0 + 2 = 2.\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = total_volume_goal(C,T)\r\n  steps = -1; %step, stepp, stepppppppppppp\r\nend","test_suite":"%% Testcase 1: Đổ đầy một bình là xong ngay\r\nC = [5, 10]; T = 5;\r\ny_correct = 1; % Fill bình 5\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 2: Đổ đầy cả hai bình\r\nC = [3, 5]; T = 8;\r\ny_correct = 2; % Fill 3, Fill 5\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 3: Trường hợp không thể đạt được (T không chia hết cho GCD)\r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 4: Mục tiêu T = 0 (Trạng thái bắt đầu)\r\nC = [5, 5]; T = 0;\r\ny_correct = 0;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 5: Mục tiêu lớn hơn tổng dung tích các bình\r\nC = [2, 3]; T = 10;\r\ny_correct = -1;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 6: Cần đổ qua lại để lấy phần dư (C=[3,5], T=4)\r\nC = [3, 5]; T = 4;\r\ny_correct = 7; \r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 7: Ba bình nước, mục tiêu nhỏ\r\nC = [2, 3, 7]; T = 1;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 8: Ba bình nước, đổ đầy tất cả\r\nC = [1, 2, 3]; T = 6;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 9: Hiệu số đơn giản giữa hai bình\r\nC = [4, 6]; T = 2;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 10: Bài toán phức tạp hơn với bình lớn\r\nC = [3, 10]; T = 1;\r\ny_correct = 7;\r\nassert(isequal(total_volume_goal(C, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T18:00:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T16:56:46.000Z","updated_at":"2026-04-06T02:56:47.000Z","published_at":"2026-02-19T16:56:46.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\u003eUsually, the target \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e must be in one jug. In this version, the target \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is the sum of water in all \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e jugs.\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:t\u003eExample: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [3,5], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 2. Output: 3 steps\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:t\u003ePath (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2). Total is 0 + 2 = 2.\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\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\"}]}"},{"id":61254,"title":"The Broken Jug: Constrain ( Hard )","description":"One of your jugs is \"broken\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\r\nInput: C, T, broken_jug_index\r\nFind the minimum given this restriction","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: 71.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 35.9375px; transform-origin: 468.5px 35.9375px; vertical-align: baseline; \"\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=\"\"\u003eOne of your jugs is \"broken\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: C, T, broken_jug_index\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eFind the minimum given this restriction\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = broken_jug(C, T, broken_jug_index)\r\n  y = C+T+broken_jug_index;\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5]; T = 4; k = 1;\r\ny_correct = 8; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 2:\r\nC = [3, 5]; T = 4; k = 2;\r\ny_correct = 6;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 3: \r\nC = [2, 4]; T = 3; k = 1;\r\ny_correct = -1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [5, 10]; T = 12; k = 1;\r\ny_correct = -1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 5: \r\nC = [2, 3, 10]; T = 1; k = 1;\r\ny_correct = 2; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 6:\r\nC = [7, 11]; T = 6; k = 1;\r\ny_correct = 10;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 7: \r\nC = [5, 8]; T = 5; k = 1;\r\ny_correct = 1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [2, 5]; T = 1; k = 2;\r\ny_correct = 4; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [3, 5]; T = 0; k = 1;\r\ny_correct = 0;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 10:\r\nC = [3, 7]; T = 5; k = 1;\r\ny_correct = 10;\r\nassert(isequal(broken_jug(C, T, k), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:30:29.000Z","updated_at":"2026-04-05T22:56:57.000Z","published_at":"2026-02-19T17:30:29.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\u003eOne of your jugs is \\\"broken\\\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\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:t\u003eInput: C, T, broken_jug_index\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:t\u003eFind the minimum given this restriction\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\"}]}"},{"id":61253,"title":"The Classic 8-5-3 Sharing ( Medium )","description":"You have 3 jugs with capacities [8,5,3]. The 8L jug, the others are empty: [8,0,0]. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly [4,4,0].\r\nInput: caps, initial, target\r\nOutput: steps","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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 have 3 jugs with capacities \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; \"\u003e[8,5,3]\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 8L jug, the others are empty:\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; \"\u003e [8,0,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=\"\"\u003e. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly \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; \"\u003e[4,4,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=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: \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=\"font-weight: 700; \"\u003ecaps\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, \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=\"font-weight: 700; \"\u003einitial\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, \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=\"font-weight: 700; \"\u003etarget\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: \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=\"font-weight: 700; \"\u003esteps\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = share_water(caps, initial, target)\r\n  steps = caps*initial/water;\r\nend","test_suite":"\r\n%% Testcase 1:\r\ncaps = [8, 5, 3]; init = [8, 0, 0]; target = [8, 0, 0];\r\ny_correct = 0;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 2: \r\ncaps = [10, 10, 10]; init = [10, 0, 0]; target = [0, 0, 10];\r\ny_correct = 1; \r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 3: \r\ncaps = [10, 7, 3]; init = [10, 0, 0]; target = [0, 7, 3];\r\ny_correct = 2;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 4:\r\ncaps = [10, 10]; init = [10, 0]; target = [5, 5];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 5: \r\ncaps = [8, 5, 3]; init = [8, 0, 0]; target = [4, 4, 0];\r\ny_correct = 7;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 6:\r\ncaps = [12, 8, 5]; init = [12, 0, 0]; target = [6, 6, 0];\r\ny_correct = 7;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 7: \r\ncaps = [10, 10]; init = [10, 0]; target = [6, 6];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 8: \r\ncaps = [10, 7, 3]; init = [10, 0, 0]; target = [5, 5, 0];\r\ny_correct = 9;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 9: \r\ncaps = [10, 8, 6]; init = [10, 0, 0]; target = [5, 5, 0];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 10: \r\ncaps = [16, 9, 7]; init = [16, 0, 0]; target = [8, 8, 0];\r\ny_correct = 15;\r\nassert(isequal(share_water(caps, init, target), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T18:02:02.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:16:25.000Z","updated_at":"2026-03-17T06:05:14.000Z","published_at":"2026-02-19T17:16:25.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 have 3 jugs with capacities \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[8,5,3]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The 8L jug, the others are empty:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e [8,0,0]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[4,4,0]\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=\\\"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:t\u003eInput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecaps\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003einitial\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etarget\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:t\u003eOutput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esteps\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\"}]}"},{"id":61275,"title":"The Quantum Knight's Tour on a Toroidal Hexagonal Board","description":"In this challenge, you must navigate a knight on a Toroidal Hexagonal Grid of size \r\nThe grid:\r\nWe use the Axial Coordinate System (q,r)\r\nThe grid is Toroidal: any move that goes off the edge wraps around to the opposite side. Formally, a position (q,r) is always treated as (mod(q,N),mod(r,N)).\r\nThe knight's move:\r\nOn a hexagonal grid, a \"Knight's move\" is defined by 12 possible jumping vectors (). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\r\n\r\nThe goal:\r\nGiven the board size ,a starting position start_pos, an ending position end_pos, and a list of obstacles, find the minimum number of moves required to reach the destination.\r\nInput:\r\nN: Scalar ( board size )\r\nstart_pos: 1x2 vector []\r\nend_pos: 1x2 vector []\r\nobstacles: Mx2 matrix where each row is a blocked [ ]\r\nOutput:\r\nmin_steps: The shortest distance ( integer ). Return Inf if the destination is unreachable.\r\n\r\n","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: 589.467px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 294.733px; transform-origin: 468.5px 294.733px; vertical-align: baseline; \"\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=\"\"\u003eIn this challenge, you must navigate a knight on a \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; \"\u003eToroidal Hexagonal Grid\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 of size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"32\" height=\"18\" style=\"width: 32px; height: 18px;\"\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; \"\u003eThe grid:\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=\"\"\u003eWe use the \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=\"font-weight: 700; \"\u003eAxial Coordinate System \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=\"font-style: italic; \"\u003e(q,r)\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; 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 20.4333px; text-align: left; transform-origin: 423.5px 20.4333px; 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=\"\"\u003eThe grid is \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=\"font-weight: 700; \"\u003eToroidal:\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 any move that goes off the edge wraps around to the opposite side. Formally, a position \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=\"font-style: italic; \"\u003e(q,r)\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 is always treated as \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=\"font-style: italic; \"\u003e(mod(q,N),mod(r,N))\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.\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; \"\u003eThe knight's move:\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=\"\"\u003eOn a hexagonal grid, a \"Knight's move\" is defined by 12 possible jumping vectors (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"38.5\" height=\"18\" style=\"width: 38.5px; height: 18px;\"\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). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\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=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"522\" height=\"18\" style=\"width: 522px; height: 18px;\"\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; \"\u003eThe goal:\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=\"\"\u003eGiven the board size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003eN\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,a starting position \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; \"\u003estart_pos\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, an ending position \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; \"\u003eend_pos\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, and a list of \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; \"\u003eobstacles\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, find the \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; \"\u003eminimum number of moves\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 required to reach the destination.\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: 81.7333px; 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 40.8667px; transform-origin: 451.5px 40.8667px; 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; \"\u003eN\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: Scalar ( board size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"35\" height=\"18\" style=\"width: 35px; height: 18px;\"\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)\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; \"\u003estart_pos:\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 1x2 vector [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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; \"\u003eend_pos\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: 1x2 vector [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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; \"\u003eobstacles: \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=\"\"\u003eMx2 matrix where each row is a blocked [ \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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_steps:\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 The shortest distance ( integer ). Return \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=\"font-weight: 700; \"\u003eInf\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 if the destination is unreachable.\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; \"\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_steps = solve_knight(N,start_pos,end_pos,obstacles)\r\n  min_steps = N*start_pos*end_pos*obstacles;\r\nend","test_suite":"%%\r\nassert(isequal(solve_knight(10, [0,0], [2,1], []), 1))\r\n\r\n%%  \r\nassert(isequal(solve_knight(5, [0,0], [4,3], []), 1))\r\n\r\n%%  \r\nobs = [1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3];\r\nassert(isinf(solve_knight(10, [5,5], [0,0], obs + 5)))\r\n\r\n%% Test Case 4: \r\nrand_N = randi([15, 25]);\r\nrand_start = randi([0, rand_N-1], 1, 2);\r\ntarget = mod(rand_start + [2, 4], rand_N);\r\nactual = solve_knight(rand_N, rand_start, target, []);\r\nassert(actual \u003c= 2);\r\n\r\n%% \r\nN_large = 200;\r\ns_large = [0, 0];\r\ne_large = [100, 100];\r\nres = solve_knight(N_large, s_large, e_large, []);\r\nassert(res \u003e 0 \u0026\u0026 ~isinf(res));\r\n\r\n\r\n%% \r\nN1 = 10; s1 = [0,0]; e1 = [0,0]; obs1 = [];\r\nassert(solve_knight(N1, s1, e1, obs1) == 0);\r\n\r\n%% \r\nN2 = 10; s2 = [0,0]; e2 = [2,1]; obs2 = [2,1];\r\nassert(isinf(solve_knight(N2, s2, e2, obs2)));\r\n\r\n%% \r\nN3 = 10; s3 = [1,2]; e3 = [5,5]; obs3 = [1,2];\r\nassert(isinf(solve_knight(N3, s3, e3, obs3)));\r\n\r\n%% \r\nN4 = 10; s4 = [0,0]; e4 = [1,2]; obs4 = [];\r\nassert(solve_knight(N4, s4, e4, obs4) == 1);\r\n\r\n%% \r\nN5 = 5; s5 = [0,0]; e5 = [1,2]; obs5 = [];\r\nassert(solve_knight(N5, s5, e5, obs5) == 1);\r\n\r\n%% \r\nN6 = 10; s6 = [5,5]; e6 = [0,0]; \r\nmoves = [1, 2; 2, 1; 3, -1; 3, -2; 2, -3; 1, -3; -1, -2; -2, -1; -3, 1; -3, 2; -2, 3; -1, 3];\r\nobs6 = [5,5] + moves; \r\nassert(isinf(solve_knight(N6, s6, e6, obs6)));\r\n\r\n%% \r\nN7 = 20; s7 = [0,0]; e7 = [2,0];\r\nobs7 = [1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3]; \r\nres7 = solve_knight(N7, s7, e7, []);\r\nassert(res7 \u003e 0 \u0026\u0026 res7 \u003c Inf);\r\n\r\n%% \r\nN8 = 100; s8 = [0,0]; e8 = [50,50]; obs8 = [];\r\ntic;\r\nres8 = solve_knight(N8, s8, e8, obs8);\r\nt = toc;\r\nassert(res8 \u003e 0);\r\n\r\n%% \r\nN9 = 15; s9 = [-1,-1]; e9 = [14,14]; obs9 = [];\r\nassert(solve_knight(N9, s9, e9, obs9) == 0);\r\n\r\n%% \r\nN10 = 30; s10 = [5,5]; e10 = [25,5];\r\nobs10 = [(0:29)', ones(30,1)*15];\r\nres10 = solve_knight(N10, s10, e10, obs10);\r\nassert(res10 \u003e 0 \u0026\u0026 ~isinf(res10));\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-03-21T02:40:32.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2026-03-21T02:40:32.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-03-17T12:48:56.000Z","updated_at":"2026-04-07T00:48:02.000Z","published_at":"2026-03-17T12:48:56.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\u003eIn this challenge, you must navigate a knight on a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eToroidal Hexagonal Grid\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$NxN$\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\u003eThe grid:\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:t\u003eWe use the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eAxial Coordinate System \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(q,r)\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:t\u003eThe grid is \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eToroidal:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e any move that goes off the edge wraps around to the opposite side. Formally, a position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(q,r)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is always treated as \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(mod(q,N),mod(r,N))\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\u003eThe knight's move:\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\u003eOn a hexagonal grid, a \\\"Knight's move\\\" is defined by 12 possible jumping vectors (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$dq,dr$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\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: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\\\\text{moves} = \\\\left[1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3 \\\\right]\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\u003eThe 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\u003eGiven the board size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$N$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e,a starting position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estart_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, an ending position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and a list of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eobstacles\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, find the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eminimum number of moves\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e required to reach the destination.\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Scalar ( board size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$N$x$N$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003estart_pos:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 1x2 vector [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q,r$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003eend_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: 1x2 vector [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q, r$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003eobstacles: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eMx2 matrix where each row is a blocked [ \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q,r\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\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_steps:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The shortest distance ( integer ). 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\u003cw:r\u003e\u003cw:t\u003e if the destination is unreachable.\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\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:t\u003e\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\"}]}"},{"id":61249,"title":"The Generalized N-Jug Water Pouring Problem   ( Hard )","description":"Description:\r\nYou are given N water jugs with maximum capacities specified in a vector C = [ c1, c2, c3,.., c_n]. Initially, all jugs are empty. Your goal is to measure exactly T units of water in at least one of the jugs using the minimum number of operations.\r\n\r\nIn each step, you can perform one of the following actions:\r\n\r\n1.Fill: Fill any jugs i completely from a tap (jugs_i = C_i).\r\n2.Empty: Empty any jug i completely (jug_i = 0).\r\n3.Pour: Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\r\nWrite a function step = water_pouring(C,T) that returns the minimum number of steps required. If the target T is impossible to reach, return -1.\r\n\r\nExample 1:\r\ninput: C = [3, 5], T = 4.\r\noutput: 6\r\nexplanation: (0,0) -\u003e (0,5) -\u003e (3,2) -\u003e (0,2) -\u003e (2,0) -\u003e (2,5) -\u003e (3,4)\r\n\r\nExample 2:\r\ninput: C = [2,5,10], T = 7\r\noutput: 4\r\nexplanation: (0,0,0) -\u003e (0,0,10) -\u003e (0,5,5) -\u003e (2,5,5) -\u003e (0,5,7)\r\n\r\nExample 3:\r\ninput: C = [2,4,6], T = 3\r\noutput: -1\r\nexplanation: Since all capacities are even, any sum will be even.\r\n\r\n","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: 787px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 393.5px; transform-origin: 468.5px 393.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20px; font-family: Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 20px; margin-block-end: 5px; margin-block-start: 3px; margin-bottom: 5px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 3px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10px; text-align: left; transform-origin: 444.5px 10px; white-space-collapse: preserve; margin-left: 4px; margin-top: 3px; margin-bottom: 5px; \"\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=\"\"\u003eDescription:\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=\"\"\u003eYou are given N water jugs with maximum capacities specified in a 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-style: italic; font-weight: 700; \"\u003eC\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; \"\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-weight: 700; \"\u003e[ c1, c2, c3,.., c_n]\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. Initially, all jugs are empty. Your goal is to measure exactly \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; \"\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 units of water in \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; \"\u003eat least one\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 of the jugs using the minimum number of operations.\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=\"\"\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=\"\"\u003eIn each step, you can perform one of the following actions:\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=\"\"\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=\"\"\u003e1.\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; \"\u003eFill:\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 Fill any jugs \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; \"\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 completely from a tap (jugs_i = C_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=\"\"\u003e2.\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; \"\u003eEmpty:\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 Empty any jug \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; \"\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 completely (jug_i = 0).\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=\"\"\u003e3.\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; \"\u003ePour:\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 Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\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=\"\"\u003eWrite a function \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; \"\u003estep = water_pouring(C,T) \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=\"\"\u003ethat returns the minimum number of steps required. If the target T is impossible to reach, return -1.\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=\"\"\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; \"\u003eExample 1:\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=\"\"\u003einput: \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; \"\u003eC\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 = [3, 5], \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; \"\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 = 4.\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=\"\"\u003eoutput: 6\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=\"\"\u003eexplanation: (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2) -\u0026gt; (2,0) -\u0026gt; (2,5) -\u0026gt; (3,4)\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=\"\"\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; \"\u003eExample 2:\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=\"\"\u003einput: \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; \"\u003eC\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 = [2,5,10], \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; \"\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 = 7\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=\"\"\u003eoutput: 4\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=\"\"\u003eexplanation: (0,0,0) -\u0026gt; (0,0,10) -\u0026gt; (0,5,5) -\u0026gt; (2,5,5) -\u0026gt; (0,5,7)\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=\"\"\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; \"\u003eExample 3:\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=\"\"\u003einput: \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; \"\u003eC\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 = [2,4,6], \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; \"\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 = 3\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=\"\"\u003eoutput: -1\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=\"\"\u003eexplanation: Since all capacities are even, any sum will be even.\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=\"\"\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function step = water_pouring(C,T)\r\n  step = C/T;\r\nend","test_suite":"%%\r\n%1\r\nC = [3,5];\r\nT = 4;\r\ny_correct = 6;\r\nassert(isequal(water_pouring(C,T),y_correct)) \r\n\r\n%%\r\n%2\r\nC = [2,5,10];\r\nT = 7;\r\ny_correct = 4;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%3\r\nC = [1,10];\r\nT = 9;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%4\r\nC = [2,4,6];\r\nT = 3;\r\ny_correct = -1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%5\r\nC = [3,8];\r\nT = 10;\r\ny_correct = -1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%6\r\nC = [1 5 100];\r\nT = 99;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%7\r\nC = [7 11];\r\nT = 1;\r\ny_correct = 8;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%8\r\nC = [15 16 20];\r\nT = 1;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%9\r\nC = [5,5];\r\nT = 0;\r\ny_correct = 0;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%10\r\nC = [5,10];\r\nT = 5;\r\ny_correct = 1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%% Test 11: Randomized Validation (Prevents hard-coding)\r\nref_solver = @(C, T) reference_water_pouring(C, T);\r\n\r\nfor test_idx = 1:3\r\n    num_jugs = randi([2, 3]);\r\n    C_rand = randi([5, 25], 1, num_jugs);\r\n    common_gcd = C_rand(1);\r\n    for j = 2:num_jugs\r\n        common_gcd = gcd(common_gcd, C_rand(j));\r\n    end\r\n    \r\n    if rand \u003e 0.3\r\n        possible_T = common_gcd : common_gcd : max(C_rand);\r\n        T_rand = possible_T(randi(length(possible_T)));\r\n    else\r\n        T_rand = randi([1, max(C_rand)]);\r\n    end\r\n\r\n    expected = ref_solver(C_rand, T_rand);\r\n    user_result = water_pouring(C_rand, T_rand);\r\n    \r\n    assert(isequal(user_result, expected), ...\r\n        sprintf('Failed on random case: C = [%s], T = %d', num2str(C_rand), T_rand));\r\nend\r\n\r\nfunction steps = reference_water_pouring(C, T)\r\n    if T \u003e max(C), steps = -1; return; end\r\n    n = length(C);\r\n    q_states = {zeros(1, n)}; q_steps = 0;\r\n    visited = containers.Map(); visited(mat2str(zeros(1, n))) = true;\r\n    head = 1;\r\n    while head \u003c= length(q_states)\r\n        curr_state = q_states{head}; curr_dist = q_steps(head); head = head + 1;\r\n        if any(curr_state == T), steps = curr_dist; return; end\r\n        nxts = [];\r\n        for i = 1:n\r\n            s = curr_state; s(i) = C(i); nxts = [nxts; s];\r\n            s = curr_state; s(i) = 0; nxts = [nxts; s];\r\n            for j = 1:n\r\n                if i ~= j\r\n                    s = curr_state; amt = min(curr_state(i), C(j)-curr_state(j));\r\n                    s(i) = s(i)-amt; s(j) = s(j)+amt; nxts = [nxts; s];\r\n                end\r\n            end\r\n        end\r\n        for k = 1:size(nxts, 1)\r\n            st_str = mat2str(nxts(k,:));\r\n            if ~isKey(visited, st_str)\r\n                visited(st_str) = true;\r\n                q_states{end+1} = nxts(k,:); q_steps(end+1) = curr_dist + 1;\r\n            end\r\n        end\r\n        if length(q_states) \u003e 5000, break; end\r\n    end\r\n    steps = -1;\r\nend","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T19:07:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":"2026-02-19T15:39:29.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T15:31:06.000Z","updated_at":"2026-03-18T12:54:04.000Z","published_at":"2026-02-19T15:31:06.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=\\\"heading\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDescription:\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\u003eYou are given N water jugs with maximum capacities specified in a vector \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\u003eC\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\u003e= \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[ c1, c2, c3,.., c_n]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Initially, all jugs are empty. Your goal is to measure exactly \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e units of water in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eat least one\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of the jugs using the minimum number of operations.\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\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\u003eIn each step, you can perform one of the following actions:\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\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\u003e1.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eFill:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Fill any jugs \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e completely from a tap (jugs_i = C_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\u003e2.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEmpty:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Empty any jug \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e completely (jug_i = 0).\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\u003e3.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ePour:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\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\u003eWrite a function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estep = water_pouring(C,T) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethat returns the minimum number of steps required. If the target T is impossible to reach, return -1.\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\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\u003eExample 1:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [3, 5], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 4.\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\u003eoutput: 6\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\u003eexplanation: (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2) -\u0026gt; (2,0) -\u0026gt; (2,5) -\u0026gt; (3,4)\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\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\u003eExample 2:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [2,5,10], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 7\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\u003eoutput: 4\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\u003eexplanation: (0,0,0) -\u0026gt; (0,0,10) -\u0026gt; (0,5,5) -\u0026gt; (2,5,5) -\u0026gt; (0,5,7)\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\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\u003eExample 3:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [2,4,6], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3\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\u003eoutput: -1\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\u003eexplanation: Since all capacities are even, any sum will be even.\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\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\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\"}]}"},{"id":61256,"title":"Minimal Waste Pouring ( Hard )","description":"Everytime you perform Empty action, water is wasted. Instead of minimizing steps, find the path that minimizes the total volume of wasted water.\r\nInput: C, T\r\nOutput: min_waste","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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=\"\"\u003eEverytime you perform \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; \"\u003eEmpty\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 action, water is wasted. Instead of minimizing steps, find the path that \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; \"\u003eminimizes the total volume of wasted water.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: \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=\"font-weight: 700; \"\u003eC\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, \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=\"font-weight: 700; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: \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=\"font-weight: 700; \"\u003emin_waste\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_waste = minimal_waste(C,T)\r\n  min_waste = C*T; %hint: using dijkstra algorithm\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5]; T = 3;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 2: \r\nC = [10, 2]; T = 8;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 3: \r\nC = [3, 5]; T = 4;\r\ny_correct = 3;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 5: \r\nC = [3, 5]; T = 0;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 6: \r\nC = [3, 10]; T = 1;\r\ny_correct = 6;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 7:\r\nC = [3, 10]; T = 2;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [5, 6]; T = 4;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [2, 5, 10]; T = 1;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 10: \r\nC = [3, 5]; T = 6;\r\ny_correct = -1;\r\nassert(isequal(minimal_waste(C, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:57:03.000Z","updated_at":"2026-04-05T22:51:01.000Z","published_at":"2026-02-19T17:57:03.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\u003eEverytime you perform \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEmpty\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e action, water is wasted. Instead of minimizing steps, find the path that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eminimizes the total volume of wasted water.\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:t\u003eInput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\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:t\u003eOutput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emin_waste\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\"}]}"},{"id":61258,"title":"The Ultimate Water Challenge ( Expert )","description":"Description:\r\n   In the previous problems, you were given a target T and asked to find the minimum number of steps to reach it. In this final challenge, the target T is no longer given. Instead, you must identify the most difficult target.\r\n  Given a vector of jug capacities C, every reachable amount T ( where 1 \u003c= T \u003c= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of T that requires the highest number of minimum steps.\r\n\r\nDefinition:\r\n  Let f(T) be the minimum number of operations required to obtain exactly T units in any jug.\r\n  Find T* such that f(T) is the maximized for reachable T belongs to {1, 2, ... max( C ) }.\r\n\r\nExample:\r\nInput: [3,5]\r\nPossible targets T and their minimum steps f(T)\r\nf(3) = 1 step ( Fill 3 )\r\nf(5) = 1 step ( Fill 5 )\r\nf(2) = 2 steps ( Fill 5 -\u003e Pour 5 to 3 )\r\nf(1) = 4 steps ( Fill 3 -\u003e Pour 3 to 5 -\u003e Fill 3 -\u003e Pour 3 to 5 )\r\nf(4) = 6 steps ( Fill 5 -\u003e Pour 5 to 3 -\u003e Empty 3 -\u003e Pour 5 to 3 -\u003e Fill 5 -\u003e Pour 5 to 3 )\r\nThe maximum of these minimum is 6 steps, which occurs when T = 4\r\nOutput: 4","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: 496.938px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 248.469px; transform-origin: 468.5px 248.469px; vertical-align: baseline; \"\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; \"\u003eDescription:\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=\"\"\u003e   In the previous problems, you were given a target \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 and asked to find the minimum number of steps to reach it. In this final challenge, the target \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 is no longer given. Instead, you must identify the most difficult target.\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=\"\"\u003e  Given a vector of jug capacities C, every reachable amount \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 ( where 1 \u0026lt;= \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 \u0026lt;= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of \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 that requires the highest number of minimum steps.\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=\"\"\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; \"\u003eDefinition:\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; \"\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=\"\"\u003eLet f(\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 minimum number of operations required to obtain exactly T units in any jug.\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=\"\"\u003e  Find \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* such that f(\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) is the maximized for reachable \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 belongs to {1, 2, ... max( C ) }.\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=\"\"\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; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 183.938px; 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 91.9688px; transform-origin: 451.5px 91.9688px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: [3,5]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ePossible targets T and their minimum steps f(\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=\"font-style: italic; \"\u003eT\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)\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(3) = 1 step ( Fill 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(5) = 1 step ( Fill 5 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(2) = 2 steps ( Fill 5 -\u0026gt; Pour 5 to 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(1) = 4 steps ( Fill 3 -\u0026gt; Pour 3 to 5 -\u0026gt; Fill 3 -\u0026gt; Pour 3 to 5 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(4) = 6 steps ( Fill 5 -\u0026gt; Pour 5 to 3 -\u0026gt; Empty 3 -\u0026gt; Pour 5 to 3 -\u0026gt; Fill 5 -\u0026gt; Pour 5 to 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eThe maximum of these minimum is 6 steps, which occurs when T = 4\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: 4\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function T_worst = worst_target(C)\r\n  T_worst = C; % good luck at final test !!!\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 2: \r\nC = [4, 6];\r\ny_correct = 2;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 3:\r\nC = [1, 10];\r\ny_correct = 5; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [3, 7];\r\ny_correct = 5;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 5:\r\nC = [2, 3, 10];\r\ny_correct = 4; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 6:\r\nC = [5, 8];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 7:\r\nC = [5, 5];\r\ny_correct = 5; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [4, 11];\r\ny_correct = 2;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [3, 4, 5];\r\ny_correct = 1; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 10:\r\nC = [8, 13];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T18:54:10.000Z","updated_at":"2026-04-05T22:44:18.000Z","published_at":"2026-02-19T18:54:09.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription:\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:t\u003e   In the previous problems, you were given a target \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:rPr/\u003e\u003cw:t\u003e and asked to find the minimum number of steps to reach it. In this final challenge, the target \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:rPr/\u003e\u003cw:t\u003e is no longer given. Instead, you must identify the most difficult target.\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:t\u003e  Given a vector of jug capacities C, every reachable amount \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:rPr/\u003e\u003cw:t\u003e ( where 1 \u0026lt;= \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:rPr/\u003e\u003cw:t\u003e \u0026lt;= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of \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:rPr/\u003e\u003cw:t\u003e that requires the highest number of minimum steps.\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: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\u003eDefinition:\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\u003e  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003eLet f(\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:rPr/\u003e\u003cw:t\u003e) be the minimum number of operations required to obtain exactly T units in any jug.\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:t\u003e  Find \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:rPr/\u003e\u003cw:t\u003e* such that f(\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:rPr/\u003e\u003cw:t\u003e) is the maximized for reachable \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:rPr/\u003e\u003cw:t\u003e belongs to {1, 2, ... max( C ) }.\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: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\u003eExample:\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:t\u003eInput: [3,5]\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:t\u003ePossible targets T and their minimum steps f(\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:rPr/\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=\\\"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:t\u003ef(3) = 1 step ( Fill 3 )\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:t\u003ef(5) = 1 step ( Fill 5 )\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:t\u003ef(2) = 2 steps ( Fill 5 -\u0026gt; Pour 5 to 3 )\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:t\u003ef(1) = 4 steps ( Fill 3 -\u0026gt; Pour 3 to 5 -\u0026gt; Fill 3 -\u0026gt; Pour 3 to 5 )\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:t\u003ef(4) = 6 steps ( Fill 5 -\u0026gt; Pour 5 to 3 -\u0026gt; Empty 3 -\u0026gt; Pour 5 to 3 -\u0026gt; Fill 5 -\u0026gt; Pour 5 to 3 )\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:t\u003eThe maximum of these minimum is 6 steps, which occurs when T = 4\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:t\u003eOutput: 4\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\"}]}"},{"id":44378,"title":"Five-dimensional maze","description":"*Description*\r\n\r\nThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes _x_ and _y_. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\r\n\r\nThis problem is a generalization of \u003chttps://www.mathworks.com/matlabcentral/cody/problems/283 Problem 283\u003e. If you haven't solved that yet, I would recommend solving it first.\r\n\r\n*Encoding*\r\n\r\n* The maze will be represented by an [ _M_ x _N_ x _O_ x _P_ x _Q_ ] matrix. \r\n* Each element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\r\n* Walls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\r\n* The start position is at the origin: subscript |(1,1,1,1,1)|.\r\n* The end position is at the furthest extent: subscript |(M,N,O,P,Q)|.\r\n* The output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to \u003chttps://www.mathworks.com/matlabcentral/cody/problems/283 Problem 283\u003e for a 2-D example.\r\n* You are *NOT* guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.","description_html":"\u003cp\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes \u003ci\u003ex\u003c/i\u003e and \u003ci\u003ey\u003c/i\u003e. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\u003c/p\u003e\u003cp\u003eThis problem is a generalization of \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/283\"\u003eProblem 283\u003c/a\u003e. If you haven't solved that yet, I would recommend solving it first.\u003c/p\u003e\u003cp\u003e\u003cb\u003eEncoding\u003c/b\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe maze will be represented by an [ \u003ci\u003eM\u003c/i\u003e x \u003ci\u003eN\u003c/i\u003e x \u003ci\u003eO\u003c/i\u003e x \u003ci\u003eP\u003c/i\u003e x \u003ci\u003eQ\u003c/i\u003e ] matrix.\u003c/li\u003e\u003cli\u003eEach element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\u003c/li\u003e\u003cli\u003eWalls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\u003c/li\u003e\u003cli\u003eThe start position is at the origin: subscript \u003ctt\u003e(1,1,1,1,1)\u003c/tt\u003e.\u003c/li\u003e\u003cli\u003eThe end position is at the furthest extent: subscript \u003ctt\u003e(M,N,O,P,Q)\u003c/tt\u003e.\u003c/li\u003e\u003cli\u003eThe output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/283\"\u003eProblem 283\u003c/a\u003e for a 2-D example.\u003c/li\u003e\u003cli\u003eYou are \u003cb\u003eNOT\u003c/b\u003e guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.\u003c/li\u003e\u003c/ul\u003e","function_template":"function path = solve_maze5(maze)\r\n    path = zeros(size(maze));\r\n    path(1) = 1;\r\nend","test_suite":"%%\r\nmaze = reshape([15 15 15 15 15 15 15 15 15 31], [1 1 1 1 10]);\r\ntruth = reshape([1 2 3 4 5 6 7 8 9 10], [1 1 1 1 10]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([28 28 30 28 30 30 29 30 28 29 29 30 31 29 28 29 30 30 31 29 29 28 30 29 29 29 28 30 31 29 29 30 29 31 29 29 30 30 28 31 30 29 28 30 31 30 30 29 30 29 28 31 30 29 28 30 29 29 28 31 29 28 30 31 30 29 30 31 29 29 29 29 28 30 30 31 28 30 31 29 29 31 29 28 29 28 31 30 30 29 30 30 31 31 30 30 30 30 30 31], [10 10 1 1 1]);\r\ntruth = reshape([1 2 3 4 5 6 7 0 11 12 0 0 0 0 0 0 8 9 10 13 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 16 15 0 0 0 0 0 0 0 0 17 18 0 0 0 0 0 0 0 0 20 19 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 24 23 22 0 0 0 0 0 0 26 25 0 0 0 0 0 0 0 0 27 28 29 30 31], [10 10 1 1 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([20 29 22 23 23 23 22 30 29 21 28 29 23 29 29 29 30 29 29 29 23 22 31 30 31 23 23 29 23 21 29 29 23 22 31 23 23 22 22 31 28 23 21 28 29 31 23 30 31 23 30 22 31 23 23 28 30 31 29 21 31 29 31 21 29 22 31 29 29 29 23 23 23 31 23 22 31 22 31 31 28 23 28 23 23 23 22 31 30 23 28 23 23 28 23 31 30 31 23 23 28 31 29 28 29 31 29 29 31 31 29 31 30 29 31 29 30 31 30 31 30 30 30 31 31], [5 5 1 5 1]);\r\ntruth = reshape([1 2 0 0 0 0 3 0 0 0 13 14 0 0 0 12 15 16 0 0 11 18 17 0 0 0 0 0 0 0 0 4 0 0 0 0 5 0 0 0 9 8 25 28 29 10 19 26 27 30 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 7 24 0 0 0 20 23 0 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 22 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33], [5 5 1 5 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([18 23 19 28 27 22 23 22 31 19 25 22 29 25 21 27 25 29 27 29 30 30 31 22 31 29 23 29 29 29 29 21 29 21 31 31 30 31 31 29 29 29 21 29 29 23 23 23 30 31 23 23 29 27 19 27 27 31 22 31 30 23 28 23 27 22 29 29 19 25 19 30 31 27 23 30 22 30 28 31 29 31 21 23 23 30 29 29 21 29 22 31 31 31 31 31 30 31 30 23 27 23 22 23 29 17 19 29 23 29 25 23 19 27 29 31 22 30 31 29 18 31 19 27 31 23 31 21 28 29 31 23 31 31 29 30 29 29 31 29 23 29 30 28 31 23 30 31 31 23 19 27 29 23 27 31 30 31 27 25 19 27 30 30 31 22 31 21 26 27 31 19 31 22 23 31 30 31 22 29 28 31 28 31 31 31 29 23 21 21 23 30 23 31 31 23 23 22 30 31 29 26 31 30 29 27 26 30 29 29 30 30 30 31 27 29 26 31 25 25 30 31 27 31 31 30 30 28 31 29 30 31 30 30 31 28 29 30 31 31 31 31 30 31 29 30 31 30 30 31], [5 5 2 5 1]);\r\ntruth = reshape([1 2 0 0 0 0 0 0 0 0 0 24 23 0 0 0 19 22 0 0 0 20 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 13 0 0 0 17 14 0 0 0 3 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 11 0 0 0 0 12 0 0 0 16 15 0 0 0 4 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 35 36 0 6 7 0 0 0 0 0 0 0 0 28 0 0 0 0 29 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 38 0 0 0 34 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 39 0 0 0 0 40], [5 5 2 5 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([21 5 22 29 19 23 31 7 30 15 21 26 23 7 19 23 22 29 11 11 14 15 30 30 23 11 7 11 25 15 13 13 15 15 27 23 31 28 29 27 13 14 31 31 15 23 14 23 30 19 30 30 31 29 25 7 14 29 23 31 25 27 30 29 23 30 29 12 31 19 7 23 31 19 11 28 30 15 26 27 15 13 25 26 23 27 23 23 28 15 19 20 23 27 15 7 31 19 23 27 28 23 22 31 15 30 23 29 30 15 15 28 31 23 21 23 30 23 29 23 22 15 15 23 23 26 15 23 7 29 23 28 31 25 15 23 27 27 31 23 29 23 14 29 25 23 7 15 23 31 27 30 15 25 21 28 23 19 31 15 31 27 23 19 23 22 30 30 27 15 30 15 27 7 23 30 27 26 31 25 23 19 30 31 23 29 29 14 31 27 23 30 23 15 23 23 23 30 31 19 7 23 23 25 27 26 27 23 13 23 21 31 23 27 15 31 15 29 26 23 15 19 31 23 15 29 23 30 31 15 31 31 7 28 31 14 23 13 23 15 29 21 31 30 31 31 31 23 30 31 26 27 25 31 21 15 21 31 28 31 15 23 21 29 29 26 31 29 27 29 30 31 27 15 15 27 23 23 13 27 25 23 23 29 19 30 27 27 31 19 31 28 27 15 29 15 23 23 23 15 15 26 31 5 15 31 30 15 29 31 26 31 30 31 29 15 13 31 17 31 27 31 27 15 15 27 31 30 30 27 11 13 23 19 29 31 27 29 14 31 28 29 27 27 15 31 31 27 30 23 30 31 15 13 15 15 15 29 31 13 13 31 15 31 29 29 29 23 23 23 15 23 30 23 7 22 27 7 19 29 25 30 30 30 31 23 29 23 30 25 11 29 7 22 31 26 31 26 30 27 29 31 27 28 27 15 15 27 27 27 28 30 27 19 31 31 14 15 27 21 30 31 31 23 31 19 28 31 27 15 21 21 23 31 29 27 31 29 23 15 22 29 29 31 25 27 23 15 7 15 29 25 13 30 29 15 27 21 27 23 30 15 29 26 23 28 29 15 22 31 27 23 3 14 31 13 15 14 30 29 29 15 23 23 29 31 14 30 31 23 22 23 15 15 29 23 15 23 15 31 15 30 28 30 29 28 27 31 11 27 31 13 30 15 11 13 28 31 15 11 15 27 14 30 15 28 27 28 15 11 30 31 15 29 13 28 30 27 31 31 30 30 30 27 31 30 31 26 31 15 15 29 28 15 27 25 31 31 13 13 31 26 31 31 29 29 27 26 31 29 27 30 31 30 31 25 28 27 30 31 31 27 27 28 31 26 31 26 31 15 26 29 30 31 27 15 31 31 14 27 29 15 15 14 15 30 31 31 29 15 30 15 30 31 15 31 29 30 30 15 15 15 15 14 31 25 30 30 18 31 15 21 23 14 31 7 30 29 15 13 14 27 27 23 31 23 27 7 26 27 31 27 23 31 29 29 15 15 15 29 30 15 19 21 15 29 31 29 29 27 15 31 23 31 23 21 29 13 22 15 31 31 27 25 11 14 29 29 22 31 28 31 31 11 27 31 14 30 30 31 7 22 31 25 13 23 25 27 23 31 25 23 25 22 31 29 28 31 27 31 31 27 30 26 15 21 23 21 29 15 15 23 31 15 23 31 13 30 30 23 28 31 21 15 13 23 31 31 22 31 19 31 7 30 23 26 31 30 29 15 30 15 22 31 15 19 28 31 30 23 23 31 26 31 7 15 7 27 14 29 29 26 30 27 31 23 26 31 23 25 30 30 14 31 31 26 31 27 30 31 23 11 31 15 21 7 23 28 31 23 26 31 31 31 27 26 30 30 31 25 30 23 31 14 31 31 31 21 26 15 30 30 31 31 7 15 23 28 31 31 15 29 27 13 15 15 30 30 31 27 29 23 29 29 15 23 23 31 30 31 30 23 30 29 31 28 31 31 15 15 15 14 15 31 15 30 23 27 7 17 30 15 19 13 31 27 7 23 30 23 31 22 27 29 27 30 23 22 31 31 22 31 23 15 15 22 29 15 19 11 31 23 19 30 29 22 23 27 23 31 19 19 22 15 31 31 11 19 31 31 31 29 30 31 31 19 29 29 14 29 29 31 31 25 29 31 31 19 31 31 27 29 31 11 19 29 31 28 30 31 31 29 23 30 15 14 29 13 23 29 7 27 31 14 31 22 30 31 31 31 31 15 7 13 15 15 29 30 31 23 7 23 15 14 15 15 31 14 15 23 21 23 31 27 27 30 23 27 28 27 27 27 15 29 27 27 29 21 30 27 27 31 31 14 27 15 11 23 27 23 31 23 27 23 15 15 31 30 15 23 31 31 15 23 27 15 27 30 30 31 25 27 30 31 23 30 29 30 27 27 15 30 27 14 31 14 23 27 13 27 7 27 31 31 23 15 27 23 19 15 29 22 30 31 25 27 23 31 25 27 21 7 23 31 23 31 15 27 15 15 21 31 15 29 15 15 29 29 15 7 15 31 29 23 29 30 31 31 23 7 14 31 30 15 15 31 30 30 30 29 25 15 11 15 15 27 29 29 29 31 30 31 31 31 15 15 14 31 11 27 28 27 27 29 29 31 27 31 31 31 29 28 30 29 15 27 30 29 31 9 14 27 27 15 31 15 15 30 31 27 11 29 13 15 29 13 30 31 25 15 31 30 30 31 29 15 30 31 11 31 13 14 31 30 31 31 15 28 30 29 26 31 27 27 15 30 31 30 15 29 15 30 11 31 27 29 14 31 29 15 31 14 29 15 31 30 31 31 31 15 28 30 30 31 15 31 15 31 30 31 7 28 30 15 13 15 30 23 15 15 15 21 21 30 31 29 23 27 7 27 23 23 23 22 15 24 30 29 19 21 21 15 31 27 23 31 30 29 28 31 22 15 31 29 29 30 23 30 23 23 31 11 27 15 23 25 28 15 29 29 31 30 23 29 29 23 11 19 31 27 19 27 19 26 27 23 23 29 7 23 23 7 30 29 9 30 11 15 23 15 25 27 30 15 15 31 27 15 27 31 14 30 29 14 31 29 13 29 29 31 23 31 15 23 7 30 31 21 23 15 23 15 30 31 15 30 27 30 15 19 22 27 30 28 31 13 31 29 30 31 29 27 30 31 13 31 30 27 23 31 27 31 21 31 31 27 15 27 14 31 22 15 11 25 19 30 31 27 30 23 19 23 30 31 15 23 29 26 31 29 15 27 30 29 15 28 27 31 31 27 23 21 14 30 29 31 23 23 23 15 29 30 31 27 31 31 31 19 26 31 15 15 28 31 23 30 29 23 29 23 30 31 26 31 23 22 29 29 29 29 28 31 29 31 15 31 22 31 30 29 14 30 31 31 31 31 23 31 14 31 11 15 11 23 29 30 31 22 31 23 29 29 19 24 27 26 31 22 31 13 26 15 14 31 31 30 29 31 23 11 13 30 31 14 31 31 7 23 31 31 14 31 11 25 27 31 15 23 31 19 27 15 7 13 19 28 15 25 15 7 30 27 27 27 15 30 31 15 23 15 14 31 27 30 31 27 19 29 29 31 21 7 31 30 23 30 31 27 27 31 30 29 31 13 15 27 15 27 31 7 31 15 7 22 29 7 29 15 15 31 23 31 29 15 13 15 30 15 23 31 31 23 31 30 23 29 11 7 30 27 11 27 27 25 15 28 23 31 15 19 15 28 31 11 13 11 30 23 30 31 27 31 27 30 31 11 7 29 29 23 29 15 31 31 29 29 22 31 23 15 15 14 11 19 23 30 23 30 27 23 31 19 22 15 29 23 21 21 15 29 30 15 15 31 29 27 30 31 30 31 23 30 29 15 15 29 31 29 21 15 30 23 15 27 11 21 27 22 30 25 31 23 7 23 31 14 23 31 15 29 15 14 23 23 15 31 23 14 31 23 7 23 7 15 31 15 15 30 15 31 13 11 27 13 13 30 31 29 31 31 14 31 15 11 27 28 30 28 31 15 31 15 31 30 27 25 29 30 29 27 15 31 14 31 15 28 30 30 31 31 27 29 27 15 31 15 30 27 31 31 31 31 26 29 29 30 31 31 31 15 31 31 27 26 31 27 25 30 27 11 30 31 15 30 15 31 31 30 30 15 30 30 15 30 27 14 31 30 31 31 31 29 14 31 15 15 31 31 27 27 13 31 28 15 15 30 31 31 31 15 14 31 13 13 31 29 15 31 15 29 30 31 14 31 31 30 27 21 30 31 30 29 27 30 31 23 29 28 15 21 21 15 30 31 29 15 22 15 11 31 25 27 11 30 25 27 27 15 13 15 11 26 31 27 7 22 31 25 26 29 22 30 31 27 15 23 31 27 27 21 29 23 27 30 27 31 27 14 31 7 28 31 15 26 31 15 7 23 30 15 28 31 29 31 25 25 23 31 13 31 27 14 31 15 31 26 15 7 31 27 19 19 23 11 7 30 15 13 15 29 30 7 30 23 15 23 14 31 21 15 15 22 30 31 31 15 31 7 30 15 30 7 29 30 27 26 27 30 29 13 31 22 29 23 31 30 31 27 19 27 22 31 26 15 15 14 30 30 23 15 23 31 26 31 25 22 31 27 11 31 29 25 30 31 27 31 15 23 22 27 30 30 15 19 31 25 29 23 7 31 29 27 23 27 27 29 29 29 28 31 15 31 31 23 31 21 13 21 29 19 31 31 29 23 21 29 31 23 15 31 27 28 31 26 15 27 31 15 26 31 21 7 14 30 31 29 20 30 31 15 31 31 13 30 29 31 29 30 31 29 30 31 23 31 15 27 11 15 22 23 14 27 15 7 15 25 30 29 29 11 23 28 31 31 27 27 31 30 30 15 23 31 22 31 31 31 23 21 30 29 31 29 30 23 31 27 30 31 22 15 15 30 31 15 19 14 31 29 31 13 22 31 31 31 31 25 27 23 25 19 31 11 30 31 27 27 27 22 31 23 26 31 27 19 27 15 30 23 15 27 30 15 29 15 31 7 27 30 31 31 27 15 30 22 27 31 31 31 15 15 14 31 30 31 15 14 29 13 30 31 15 31 31 7 29 30 15 30 23 23 22 31 27 15 27 15 21 28 31 7 15 15 15 23 13 31 13 25 23 31 23 31 22 30 23 30 27 31 11 15 15 31 30 15 25 14 31 22 31 27 26 29 23 31 27 15 31 23 11 23 22 31 21 15 19 29 14 31 23 23 23 7 15 29 15 23 29 30 31 27 14 31 15 23 23 28 30 23 29 31 29 19 27 29 15 23 25 29 31 15 29 15 27 14 31 30 30 31 31 7 30 30 30 31 7 29 31 29 13 29 23 29 31 23 23 15 29 31 31 7 23 31 7 31 15 31 15 26 31 15 13 29 13 30 31 31 29 31 31 13 29 30 30 31 31 15 27 30 27 31 11 28 31 28 15 27 29 27 29 15 13 15 27 15 13 29 25 15 30 31 31 31 15 15 15 31 25 30 15 15 29 30 31 29 31 31 29 27 27 25 25 31 28 27 31 14 31 31 27 31 28 31 15 13 29 27 15 30 31 15 31 15 30 31 15 15 13 11 27 15 30 31 14 31 15 29 28 29 29 31 31 15 31 15 15 31 14 31 31 31 28 31 31 31 29 31 15 31 14 31 30 18 22 30 31 26 23 22 30 25 22 29 26 31 31 19 31 28 30 23 26 31 31 27 23 25 29 23 22 27 31 31 23 27 31 30 30 31 27 29 23 21 22 27 27 22 30 23 30 31 27 26 29 26 31 29 25 23 30 27 29 29 29 27 23 27 23 31 23 23 30 31 26 30 31 29 23 28 31 19 27 23 29 23 23 26 23 27 30 23 28 27 30 27 27 23 23 30 27 23 22 31 31 30 31 23 31 22 29 29 29 23 29 29 29 31 31 23 31 23 30 30 31 31 23 21 31 29 28 23 29 27 31 27 27 31 25 25 22 27 29 23 30 29 23 30 23 19 31 27 29 25 23 21 27 27 31 23 31 23 21 29 23 23 23 31 31 23 30 23 27 27 31 22 23 25 29 27 26 31 31 27 30 31 23 21 22 23 26 31 23 27 22 31 23 31 30 27 26 27 27 31 30 31 23 23 31 28 31 27 19 31 21 31 29 25 27 31 21 31 30 31 31 31 31 31 30 31 22 23 29 21 30 29 31 31 31 23 29 23 31 29 29 29 23 22 31 30 31 31 27 29 30 29 21 23 29 29 31 23 28 31 29 23 23 29 23 29 19 23 23 23 30 31 23 29 22 31 27 19 29 25 29 28 31 31 29 31 31 21 21 23 30 31 31 31 26 23 31 27 23 19 30 31 31 28 31 22 27 19 31 29 29 21 25 29 31 31 31 31 30 31 27 26 31 23 30 30 23 29 18 31 25 31 31 30 31 31 23 23 29 29 22 31 21 27 30 30 31 19 22 23 23 31 31 31 29 23 29 23 30 31 31 30 21 30 30 30 31 31 31 23 30 22 31 26 30 29 27 31 31 28 31 29 31 21 31 29 27 31 29 23 30 31 23 31 23 26 23 23 27 27 19 31 31 23 26 30 31 25 23 25 19 27 31 27 31 26 23 25 23 19 31 30 31 31 31 23 29 29 21 31 23 27 31 27 31 31 21 29 27 29 29 23 31 27 27 31 30 19 29 26 29 30 23 31 25 30 31 27 29 27 19 23 31 31 29 30 31 31 23 31 22 23 31 23 31 30 30 23 28 31 29 29 31 23 23 31 29 29 23 23 28 31 31 22 31 31 30 31 30 27 30 27 27 30 29 29 26 29 29 27 30 29 31 29 27 28 31 29 31 27 30 31 31 29 30 30 31 31 31 26 30 31 29 31 31 30 31 31 28 31 27 30 29 31 31 27 27 31 28 30 31 27 27 31 30 31 29 25 25 26 30 31 27 30 27 30 31 29 30 27 30 31 31 26 30 31 31 31 28 31 27 25 31 31 31 27 31 31 31 31 31 25 27 27 27 31 31 27 31 28 28 30 31 30 31 29 31 29 29 31 31 29 29 31 29 28 31 31 31 30 31 30 31], [5 5 5 5 5]);\r\ntruth = reshape([1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 94 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 98 0 0 0 0 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 0 0 0 0 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 90 0 0 0 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 89 0 0 0 105 0 0 0 0 106 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 51 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 0 0 0 0 0 0 0 0 0 0 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 0 0 0 0 61 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 20 47 48 63 0 0 0 49 52 27 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 21 46 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 53 58 0 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 45 0 0 0 0 44 0 0 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 121 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 0 0 0 0 0 0 0 0 0 111 0 0 0 0 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 0 0 0 0 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 0 0 0 0 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 70 77 0 0 0 0 24 0 0 0 26 25 0 0 0 0 0 0 0 0 0 79 0 0 0 69 22 0 0 0 68 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 0 0 0 0 117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 65 0 0 0 0 54 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 67 0 43 42 55 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 0 0 41 32 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 37 0 0 40 39 122 123], [5 5 5 5 5]);\r\nassert(isequal(solve_maze5(maze), truth));","published":true,"deleted":false,"likes_count":5,"comments_count":19,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":48,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":35,"created_at":"2017-10-12T15:00:57.000Z","updated_at":"2026-03-19T20:06:56.000Z","published_at":"2017-10-16T01:51:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes\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\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\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\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is a generalization of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/283\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 283\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. If you haven't solved that yet, I would recommend solving it first.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEncoding\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe maze will be represented by an [\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\u003eM\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eO\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eQ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ] matrix.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWalls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe start position is at the origin: subscript\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(1,1,1,1,1)\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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe end position is at the furthest extent: subscript\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(M,N,O,P,Q)\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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/283\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 283\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for a 2-D example.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":61251,"title":"Two Jugs: Minimum Steps ( Medium )","description":"Following the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\r\ninput: A, B, T\r\noutput: n (minimum steps) or -1 if impossible","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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=\"\"\u003eFollowing the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003einput: A, B, T\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eoutput: n (minimum steps) or -1 if impossible\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = water_pouring_2(A,B,T)\r\n  n = A*B*T;\r\nend","test_suite":"%%\r\nC = [3, 5]; T = 4;\r\ny_correct = 6;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [5, 10]; T = 5;\r\ny_correct = 1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [3, 7]; T = 5;\r\ny_correct = 8;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [3, 5]; T = 7;\r\ny_correct = -1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [1, 1]; T = 1;\r\ny_correct = 1;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [4, 9]; T = 1;\r\ny_correct = 4;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [6, 10]; T = 8;\r\ny_correct = 6;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [10, 2]; T = 8;\r\ny_correct = 2;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))\r\n%%\r\nC = [5, 7]; T = 3;\r\ny_correct = 4;\r\nassert(isequal(water_pouring_2(C(1), C(2), T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T17:59:51.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T16:38:44.000Z","updated_at":"2026-03-18T12:38:50.000Z","published_at":"2026-02-19T16:38:44.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\u003eFollowing the first problem, now you need to find the shortest path. Given two jugs with capacities A and B, find the minimum number of steps to get exactly T units in either jug. You can Fill, Empty or Pour.\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:t\u003einput: A, B, T\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:t\u003eoutput: n (minimum steps) or -1 if impossible\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\"}]}"},{"id":61255,"title":"Record the Actions ( Medium )","description":"Find the minimum steps to get T units from jugs A and B. Return the sequence of actions as cell array of strings.\r\nAvailable actions: F1, F2 (Fill) E1, E2 (Empty) P12, P21 (Pour).\r\nExample: A = 3, B = 5, T = 1 -\u003e { 'F1' , 'P12' }","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: 81.4375px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 40.7188px; transform-origin: 468.5px 40.7188px; vertical-align: baseline; \"\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 steps to get T units from jugs \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; \"\u003eA\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 and \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; \"\u003eB\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. Return the sequence of actions as cell array of strings.\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=\"\"\u003eAvailable actions: \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; \"\u003eF1\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-weight: 700; \"\u003eF2\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 (Fill) \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; \"\u003eE1\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-weight: 700; \"\u003eE2\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 (Empty) \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; \"\u003eP12\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-weight: 700; \"\u003eP21\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 (Pour).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; 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.2188px; transform-origin: 451.5px 10.2188px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eExample: \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=\"font-weight: 700; \"\u003eA\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 = 3, \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=\"font-weight: 700; \"\u003eB\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 = 5, \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=\"font-weight: 700; \"\u003eT\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 = 1 -\u0026gt; { 'F1' , 'P12' }\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function history = record_actions(A,B,T)\r\n  history = A+B+T;\r\nend","test_suite":"%% Testcase 1:\r\nA = 3; B = 5; T = 3;\r\ny_correct = {'F1'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 2: \r\nA = 3; B = 5; T = 5;\r\ny_correct = {'F2'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 3: \r\nA = 3; B = 5; T = 2;\r\ny_correct = {'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 4: \r\nA = 3; B = 5; T = 4;\r\ny_correct = {'F2', 'P21', 'E1', 'P21', 'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 5: \r\nA = 2; B = 4; T = 3;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 6: \r\nA = 3; B = 5; T = 10;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 7:\r\nA = 3; B = 5; T = 0;\r\ny_correct = {};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 8:\r\nA = 4; B = 9; T = 1;\r\ny_correct = {'F2', 'P21', 'E1', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))\r\n\r\n%% Testcase 9: \r\nA = 6; B = 6; T = 6;\r\ny_correct = {'F1'};\r\nassert(isequal(record_actions(A, B, T), y_correct)||isequal(record_actions(A,B,T),y_correct))\r\n\r\n%% Testcase 10:\r\nA = 3; B = 7; T = 5;\r\ny_correct = {'F2', 'P21', 'E1', 'P21', 'E1', 'P21', 'F2', 'P21'};\r\nassert(isequal(record_actions(A, B, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-20T04:31:53.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":"2026-02-20T04:31:53.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:36:44.000Z","updated_at":"2026-03-17T06:15:53.000Z","published_at":"2026-02-19T17:44:55.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\u003eFind the minimum steps to get T units from jugs \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\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \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\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Return the sequence of actions as cell array of strings.\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\u003eAvailable actions: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eF1\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eF2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Fill) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eE1\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eE2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Empty) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP12\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP21\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (Pour).\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:t\u003eExample: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 5, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 1 -\u0026gt; { 'F1' , 'P12' }\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\"}]}"},{"id":61252,"title":"Total Volume Goal ( Medium )","description":"Usually, the target T must be in one jug. In this version, the target T is the sum of water in all N jugs.\r\nExample: C = [3,5], T = 2. Output: 3 steps\r\nPath (0,0) -\u003e (0,5) -\u003e (3,2) -\u003e (0,2). Total is 0 + 2 = 2.\r\n","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: 112.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 56.4375px; transform-origin: 468.5px 56.4375px; vertical-align: baseline; \"\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=\"\"\u003eUsually, the target \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; \"\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 must be in one jug. In this version, the target \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; \"\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 is the sum of water in all \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; \"\u003eN\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 jugs.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eExample: \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=\"font-weight: 700; \"\u003eC\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 = [3,5], \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=\"font-weight: 700; \"\u003eT\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 = 2. Output: 3 steps\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ePath (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2). Total is 0 + 2 = 2.\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = total_volume_goal(C,T)\r\n  steps = -1; %step, stepp, stepppppppppppp\r\nend","test_suite":"%% Testcase 1: Đổ đầy một bình là xong ngay\r\nC = [5, 10]; T = 5;\r\ny_correct = 1; % Fill bình 5\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 2: Đổ đầy cả hai bình\r\nC = [3, 5]; T = 8;\r\ny_correct = 2; % Fill 3, Fill 5\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 3: Trường hợp không thể đạt được (T không chia hết cho GCD)\r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 4: Mục tiêu T = 0 (Trạng thái bắt đầu)\r\nC = [5, 5]; T = 0;\r\ny_correct = 0;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 5: Mục tiêu lớn hơn tổng dung tích các bình\r\nC = [2, 3]; T = 10;\r\ny_correct = -1;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 6: Cần đổ qua lại để lấy phần dư (C=[3,5], T=4)\r\nC = [3, 5]; T = 4;\r\ny_correct = 7; \r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 7: Ba bình nước, mục tiêu nhỏ\r\nC = [2, 3, 7]; T = 1;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 8: Ba bình nước, đổ đầy tất cả\r\nC = [1, 2, 3]; T = 6;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 9: Hiệu số đơn giản giữa hai bình\r\nC = [4, 6]; T = 2;\r\ny_correct = 3;\r\nassert(isequal(total_volume_goal(C, T), y_correct))\r\n\r\n%% Testcase 10: Bài toán phức tạp hơn với bình lớn\r\nC = [3, 10]; T = 1;\r\ny_correct = 7;\r\nassert(isequal(total_volume_goal(C, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T18:00:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T16:56:46.000Z","updated_at":"2026-04-06T02:56:47.000Z","published_at":"2026-02-19T16:56:46.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\u003eUsually, the target \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e must be in one jug. In this version, the target \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is the sum of water in all \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e jugs.\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:t\u003eExample: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [3,5], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 2. Output: 3 steps\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:t\u003ePath (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2). Total is 0 + 2 = 2.\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\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\"}]}"},{"id":61254,"title":"The Broken Jug: Constrain ( Hard )","description":"One of your jugs is \"broken\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\r\nInput: C, T, broken_jug_index\r\nFind the minimum given this restriction","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: 71.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 35.9375px; transform-origin: 468.5px 35.9375px; vertical-align: baseline; \"\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=\"\"\u003eOne of your jugs is \"broken\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: C, T, broken_jug_index\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eFind the minimum given this restriction\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = broken_jug(C, T, broken_jug_index)\r\n  y = C+T+broken_jug_index;\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5]; T = 4; k = 1;\r\ny_correct = 8; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 2:\r\nC = [3, 5]; T = 4; k = 2;\r\ny_correct = 6;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 3: \r\nC = [2, 4]; T = 3; k = 1;\r\ny_correct = -1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [5, 10]; T = 12; k = 1;\r\ny_correct = -1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 5: \r\nC = [2, 3, 10]; T = 1; k = 1;\r\ny_correct = 2; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 6:\r\nC = [7, 11]; T = 6; k = 1;\r\ny_correct = 10;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 7: \r\nC = [5, 8]; T = 5; k = 1;\r\ny_correct = 1;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [2, 5]; T = 1; k = 2;\r\ny_correct = 4; \r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [3, 5]; T = 0; k = 1;\r\ny_correct = 0;\r\nassert(isequal(broken_jug(C, T, k), y_correct))\r\n\r\n%% Testcase 10:\r\nC = [3, 7]; T = 5; k = 1;\r\ny_correct = 10;\r\nassert(isequal(broken_jug(C, T, k), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:30:29.000Z","updated_at":"2026-04-05T22:56:57.000Z","published_at":"2026-02-19T17:30:29.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\u003eOne of your jugs is \\\"broken\\\": it can not be Emptied to the drain. It can only be Filled or Poured to another jug.\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:t\u003eInput: C, T, broken_jug_index\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:t\u003eFind the minimum given this restriction\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\"}]}"},{"id":61253,"title":"The Classic 8-5-3 Sharing ( Medium )","description":"You have 3 jugs with capacities [8,5,3]. The 8L jug, the others are empty: [8,0,0]. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly [4,4,0].\r\nInput: caps, initial, target\r\nOutput: steps","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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 have 3 jugs with capacities \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; \"\u003e[8,5,3]\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 8L jug, the others are empty:\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; \"\u003e [8,0,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=\"\"\u003e. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly \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; \"\u003e[4,4,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=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: \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=\"font-weight: 700; \"\u003ecaps\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, \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=\"font-weight: 700; \"\u003einitial\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, \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=\"font-weight: 700; \"\u003etarget\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: \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=\"font-weight: 700; \"\u003esteps\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function steps = share_water(caps, initial, target)\r\n  steps = caps*initial/water;\r\nend","test_suite":"\r\n%% Testcase 1:\r\ncaps = [8, 5, 3]; init = [8, 0, 0]; target = [8, 0, 0];\r\ny_correct = 0;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 2: \r\ncaps = [10, 10, 10]; init = [10, 0, 0]; target = [0, 0, 10];\r\ny_correct = 1; \r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 3: \r\ncaps = [10, 7, 3]; init = [10, 0, 0]; target = [0, 7, 3];\r\ny_correct = 2;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 4:\r\ncaps = [10, 10]; init = [10, 0]; target = [5, 5];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 5: \r\ncaps = [8, 5, 3]; init = [8, 0, 0]; target = [4, 4, 0];\r\ny_correct = 7;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 6:\r\ncaps = [12, 8, 5]; init = [12, 0, 0]; target = [6, 6, 0];\r\ny_correct = 7;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 7: \r\ncaps = [10, 10]; init = [10, 0]; target = [6, 6];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 8: \r\ncaps = [10, 7, 3]; init = [10, 0, 0]; target = [5, 5, 0];\r\ny_correct = 9;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 9: \r\ncaps = [10, 8, 6]; init = [10, 0, 0]; target = [5, 5, 0];\r\ny_correct = -1;\r\nassert(isequal(share_water(caps, init, target), y_correct))\r\n\r\n%% Testcase 10: \r\ncaps = [16, 9, 7]; init = [16, 0, 0]; target = [8, 8, 0];\r\ny_correct = 15;\r\nassert(isequal(share_water(caps, init, target), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T18:02:02.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:16:25.000Z","updated_at":"2026-03-17T06:05:14.000Z","published_at":"2026-02-19T17:16:25.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 have 3 jugs with capacities \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[8,5,3]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The 8L jug, the others are empty:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e [8,0,0]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. There is no tap and no drain. You can only pour water between jugs. Find the minimum steps to get exactly \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[4,4,0]\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=\\\"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:t\u003eInput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecaps\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003einitial\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etarget\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:t\u003eOutput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esteps\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\"}]}"},{"id":61275,"title":"The Quantum Knight's Tour on a Toroidal Hexagonal Board","description":"In this challenge, you must navigate a knight on a Toroidal Hexagonal Grid of size \r\nThe grid:\r\nWe use the Axial Coordinate System (q,r)\r\nThe grid is Toroidal: any move that goes off the edge wraps around to the opposite side. Formally, a position (q,r) is always treated as (mod(q,N),mod(r,N)).\r\nThe knight's move:\r\nOn a hexagonal grid, a \"Knight's move\" is defined by 12 possible jumping vectors (). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\r\n\r\nThe goal:\r\nGiven the board size ,a starting position start_pos, an ending position end_pos, and a list of obstacles, find the minimum number of moves required to reach the destination.\r\nInput:\r\nN: Scalar ( board size )\r\nstart_pos: 1x2 vector []\r\nend_pos: 1x2 vector []\r\nobstacles: Mx2 matrix where each row is a blocked [ ]\r\nOutput:\r\nmin_steps: The shortest distance ( integer ). Return Inf if the destination is unreachable.\r\n\r\n","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: 589.467px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 294.733px; transform-origin: 468.5px 294.733px; vertical-align: baseline; \"\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=\"\"\u003eIn this challenge, you must navigate a knight on a \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; \"\u003eToroidal Hexagonal Grid\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 of size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"32\" height=\"18\" style=\"width: 32px; height: 18px;\"\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; \"\u003eThe grid:\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=\"\"\u003eWe use the \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=\"font-weight: 700; \"\u003eAxial Coordinate System \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=\"font-style: italic; \"\u003e(q,r)\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; 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 20.4333px; text-align: left; transform-origin: 423.5px 20.4333px; 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=\"\"\u003eThe grid is \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=\"font-weight: 700; \"\u003eToroidal:\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 any move that goes off the edge wraps around to the opposite side. Formally, a position \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=\"font-style: italic; \"\u003e(q,r)\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 is always treated as \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=\"font-style: italic; \"\u003e(mod(q,N),mod(r,N))\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.\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; \"\u003eThe knight's move:\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=\"\"\u003eOn a hexagonal grid, a \"Knight's move\" is defined by 12 possible jumping vectors (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"38.5\" height=\"18\" style=\"width: 38.5px; height: 18px;\"\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). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\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=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"522\" height=\"18\" style=\"width: 522px; height: 18px;\"\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; \"\u003eThe goal:\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=\"\"\u003eGiven the board size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003eN\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,a starting position \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; \"\u003estart_pos\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, an ending position \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; \"\u003eend_pos\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, and a list of \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; \"\u003eobstacles\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, find the \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; \"\u003eminimum number of moves\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 required to reach the destination.\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: 81.7333px; 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 40.8667px; transform-origin: 451.5px 40.8667px; 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; \"\u003eN\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: Scalar ( board size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"35\" height=\"18\" style=\"width: 35px; height: 18px;\"\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)\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; \"\u003estart_pos:\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 1x2 vector [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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; \"\u003eend_pos\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: 1x2 vector [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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; \"\u003eobstacles: \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=\"\"\u003eMx2 matrix where each row is a blocked [ \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAkCAYAAAAZ4GNvAAAEeElEQVR4AeyXXWiTZxTH8zQfrK1us1t1s13Tj7nJ6Da2js0bYWOswzHG1rENdjE2BoPhvhhMJmxeKCJ6peiN4geIinqhVAQvtCoIImi9ELFS0zaRpEVrWz+rNknr7x/fhLxtEpO3QRESzp9z3vM85zznOc95zvumzPUU/0rBP6nDK2W+lHkHGSiVjYOkFcWklPmipNGBk1LmHSStKCalzBcljQ6c5JV5v9/fwG9DfX19AH4QnAW/8/wHfCNYzNoeUDBVV1fPwL4V/IO/fSAMtuDINDU1vYJ+N7gP2hsbG59Dn6Kcwbe0tHgx+q+srKwbizmxWOz9vr6+z40xH/HcZoxZB/9lYmKiEh4DBVNlZWXM7XZfwMcsY8xXxpga1jtKwuaPj48fweF3wAcWMvYqPEVZg9cuh4eHdzBzBdhaVVX1fTgcHkZ29fb23oCHgOgOi52U4ATBYPBeIBAIE/wJ7ONggKAj+NyGbhn4F530Z5ADyCnKGLwyzsQ1zPoWHGbHSzo7O6PICeJYn0F4AYh6PB7PRQnTAWu8ib0bPgB+RT7MxvaC1Zy2B7RaSWPoIWUMfmho6GeGhREysHSyEeWjwOczR3S8u7v7mgSnUDIIeKHsSdqL8NljY2Nr4RMgK00JnlprwNESLNxgZ09Pz1m4jci0FmpAqePsgE+LKJO5OHgbiF5i/fWRSGRID7kwJXgMv8FAgd3E6S5k2+5ra2vLOY0f0Gtz/fF4/DzytIgL24wDbcDF+h1k/RDPjyRb8GpbWHwKRF0c4ZRa9vl8i9B/rAng1GV+cIeUMpM/JSNOwrbTGO6mRnIItuDLy8tns/N51vxLxHXdkhOMtulHUPdR63KxCZWMoxaJnwTV1dXNQvgAiLpY/5iEfGAL3uv1ytEMy1D1nCoZtU70mwhYlxXRNcJxn5GQDl0+7s3L4un6bDJrNjL2GhAdoKtckZAPbMFHo9ERjG4D0es1NTWJQKnzKoLeDCIMnALKusrK1nd1MtyHTtBPBq+y4TbNzQXuzHuMK2l3sMmr1pmfIFvw1NsA2mR3WUB9dxDAfrITRn8X52pf7yLrYh2f3ELRv8UG34CLZuJvsXWP9JwJHnyq3jVW8PvCFrwuCqXwG57agWq5mQB0B37kOH+yAlNXGGPRTLV5DrvTIEn+ioqKmcmHyZwTnYPuHSAq+H1hC14e9Kom0C+BF3iCwWAzfC9j46AVqCtcpp11IduIeSGg7x/2Zr5mMDQ6OnoLnpFIVoT584ABf2aclEM5Jfhsc8nSXCLSy0n1foKF+7PNtT4vPmP+tsHBweQdyjbdsT7v4Kn7FlbRy8vFhVSLTHUi9Olk+KD7ixKL8jG3J32g2HK+wRsW/gSoZAboEMlLjcpGblrk/2h8fP/8nf4xh67olFfw/CloYuUvgKiXS52tZOLckeXU70rKKq+3pBw6Rc7gedksIpP76DjKdJ21yAJKoh39KvC8pXsiLGfwoVDoEJlsI5PPAnUEQd/WH6JfCmyfD497BzmDf9zBFLreUx38AwAAAP//WKWEIAAAAAZJREFUAwASIbZYotIIVQAAAABJRU5ErkJggg==\" width=\"23.5\" height=\"18\" style=\"width: 23.5px; height: 18px;\"\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]\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_steps:\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 The shortest distance ( integer ). Return \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=\"font-weight: 700; \"\u003eInf\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 if the destination is unreachable.\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; \"\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_steps = solve_knight(N,start_pos,end_pos,obstacles)\r\n  min_steps = N*start_pos*end_pos*obstacles;\r\nend","test_suite":"%%\r\nassert(isequal(solve_knight(10, [0,0], [2,1], []), 1))\r\n\r\n%%  \r\nassert(isequal(solve_knight(5, [0,0], [4,3], []), 1))\r\n\r\n%%  \r\nobs = [1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3];\r\nassert(isinf(solve_knight(10, [5,5], [0,0], obs + 5)))\r\n\r\n%% Test Case 4: \r\nrand_N = randi([15, 25]);\r\nrand_start = randi([0, rand_N-1], 1, 2);\r\ntarget = mod(rand_start + [2, 4], rand_N);\r\nactual = solve_knight(rand_N, rand_start, target, []);\r\nassert(actual \u003c= 2);\r\n\r\n%% \r\nN_large = 200;\r\ns_large = [0, 0];\r\ne_large = [100, 100];\r\nres = solve_knight(N_large, s_large, e_large, []);\r\nassert(res \u003e 0 \u0026\u0026 ~isinf(res));\r\n\r\n\r\n%% \r\nN1 = 10; s1 = [0,0]; e1 = [0,0]; obs1 = [];\r\nassert(solve_knight(N1, s1, e1, obs1) == 0);\r\n\r\n%% \r\nN2 = 10; s2 = [0,0]; e2 = [2,1]; obs2 = [2,1];\r\nassert(isinf(solve_knight(N2, s2, e2, obs2)));\r\n\r\n%% \r\nN3 = 10; s3 = [1,2]; e3 = [5,5]; obs3 = [1,2];\r\nassert(isinf(solve_knight(N3, s3, e3, obs3)));\r\n\r\n%% \r\nN4 = 10; s4 = [0,0]; e4 = [1,2]; obs4 = [];\r\nassert(solve_knight(N4, s4, e4, obs4) == 1);\r\n\r\n%% \r\nN5 = 5; s5 = [0,0]; e5 = [1,2]; obs5 = [];\r\nassert(solve_knight(N5, s5, e5, obs5) == 1);\r\n\r\n%% \r\nN6 = 10; s6 = [5,5]; e6 = [0,0]; \r\nmoves = [1, 2; 2, 1; 3, -1; 3, -2; 2, -3; 1, -3; -1, -2; -2, -1; -3, 1; -3, 2; -2, 3; -1, 3];\r\nobs6 = [5,5] + moves; \r\nassert(isinf(solve_knight(N6, s6, e6, obs6)));\r\n\r\n%% \r\nN7 = 20; s7 = [0,0]; e7 = [2,0];\r\nobs7 = [1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3]; \r\nres7 = solve_knight(N7, s7, e7, []);\r\nassert(res7 \u003e 0 \u0026\u0026 res7 \u003c Inf);\r\n\r\n%% \r\nN8 = 100; s8 = [0,0]; e8 = [50,50]; obs8 = [];\r\ntic;\r\nres8 = solve_knight(N8, s8, e8, obs8);\r\nt = toc;\r\nassert(res8 \u003e 0);\r\n\r\n%% \r\nN9 = 15; s9 = [-1,-1]; e9 = [14,14]; obs9 = [];\r\nassert(solve_knight(N9, s9, e9, obs9) == 0);\r\n\r\n%% \r\nN10 = 30; s10 = [5,5]; e10 = [25,5];\r\nobs10 = [(0:29)', ones(30,1)*15];\r\nres10 = solve_knight(N10, s10, e10, obs10);\r\nassert(res10 \u003e 0 \u0026\u0026 ~isinf(res10));\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-03-21T02:40:32.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2026-03-21T02:40:32.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-03-17T12:48:56.000Z","updated_at":"2026-04-07T00:48:02.000Z","published_at":"2026-03-17T12:48:56.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\u003eIn this challenge, you must navigate a knight on a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eToroidal Hexagonal Grid\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$NxN$\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\u003eThe grid:\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:t\u003eWe use the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eAxial Coordinate System \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(q,r)\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:t\u003eThe grid is \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eToroidal:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e any move that goes off the edge wraps around to the opposite side. Formally, a position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(q,r)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is always treated as \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(mod(q,N),mod(r,N))\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\u003eThe knight's move:\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\u003eOn a hexagonal grid, a \\\"Knight's move\\\" is defined by 12 possible jumping vectors (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$dq,dr$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e). These represent moving 2 steps in one axial direction and 1 step in another, or similar symmetries:\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: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\\\\text{moves} = \\\\left[1,2; 2,1; 3,-1; 3,-2; 2,-3; 1,-3; -1,-2; -2,-1; -3,1; -3,2; -2,3; -1,3 \\\\right]\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\u003eThe 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\u003eGiven the board size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$N$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e,a starting position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estart_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, an ending position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and a list of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eobstacles\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, find the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eminimum number of moves\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e required to reach the destination.\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Scalar ( board size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$N$x$N$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003estart_pos:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 1x2 vector [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q,r$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003eend_pos\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: 1x2 vector [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q, r$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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=\\\"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\u003eobstacles: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eMx2 matrix where each row is a blocked [ \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$q,r\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\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_steps:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The shortest distance ( integer ). 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\u003cw:r\u003e\u003cw:t\u003e if the destination is unreachable.\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\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:t\u003e\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\"}]}"},{"id":61249,"title":"The Generalized N-Jug Water Pouring Problem   ( Hard )","description":"Description:\r\nYou are given N water jugs with maximum capacities specified in a vector C = [ c1, c2, c3,.., c_n]. Initially, all jugs are empty. Your goal is to measure exactly T units of water in at least one of the jugs using the minimum number of operations.\r\n\r\nIn each step, you can perform one of the following actions:\r\n\r\n1.Fill: Fill any jugs i completely from a tap (jugs_i = C_i).\r\n2.Empty: Empty any jug i completely (jug_i = 0).\r\n3.Pour: Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\r\nWrite a function step = water_pouring(C,T) that returns the minimum number of steps required. If the target T is impossible to reach, return -1.\r\n\r\nExample 1:\r\ninput: C = [3, 5], T = 4.\r\noutput: 6\r\nexplanation: (0,0) -\u003e (0,5) -\u003e (3,2) -\u003e (0,2) -\u003e (2,0) -\u003e (2,5) -\u003e (3,4)\r\n\r\nExample 2:\r\ninput: C = [2,5,10], T = 7\r\noutput: 4\r\nexplanation: (0,0,0) -\u003e (0,0,10) -\u003e (0,5,5) -\u003e (2,5,5) -\u003e (0,5,7)\r\n\r\nExample 3:\r\ninput: C = [2,4,6], T = 3\r\noutput: -1\r\nexplanation: Since all capacities are even, any sum will be even.\r\n\r\n","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: 787px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 393.5px; transform-origin: 468.5px 393.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20px; font-family: Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 20px; margin-block-end: 5px; margin-block-start: 3px; margin-bottom: 5px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 3px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10px; text-align: left; transform-origin: 444.5px 10px; white-space-collapse: preserve; margin-left: 4px; margin-top: 3px; margin-bottom: 5px; \"\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=\"\"\u003eDescription:\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=\"\"\u003eYou are given N water jugs with maximum capacities specified in a 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-style: italic; font-weight: 700; \"\u003eC\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; \"\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-weight: 700; \"\u003e[ c1, c2, c3,.., c_n]\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. Initially, all jugs are empty. Your goal is to measure exactly \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; \"\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 units of water in \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; \"\u003eat least one\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 of the jugs using the minimum number of operations.\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=\"\"\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=\"\"\u003eIn each step, you can perform one of the following actions:\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=\"\"\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=\"\"\u003e1.\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; \"\u003eFill:\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 Fill any jugs \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; \"\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 completely from a tap (jugs_i = C_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=\"\"\u003e2.\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; \"\u003eEmpty:\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 Empty any jug \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; \"\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 completely (jug_i = 0).\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=\"\"\u003e3.\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; \"\u003ePour:\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 Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\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=\"\"\u003eWrite a function \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; \"\u003estep = water_pouring(C,T) \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=\"\"\u003ethat returns the minimum number of steps required. If the target T is impossible to reach, return -1.\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=\"\"\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; \"\u003eExample 1:\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=\"\"\u003einput: \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; \"\u003eC\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 = [3, 5], \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; \"\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 = 4.\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=\"\"\u003eoutput: 6\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=\"\"\u003eexplanation: (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2) -\u0026gt; (2,0) -\u0026gt; (2,5) -\u0026gt; (3,4)\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=\"\"\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; \"\u003eExample 2:\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=\"\"\u003einput: \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; \"\u003eC\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 = [2,5,10], \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; \"\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 = 7\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=\"\"\u003eoutput: 4\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=\"\"\u003eexplanation: (0,0,0) -\u0026gt; (0,0,10) -\u0026gt; (0,5,5) -\u0026gt; (2,5,5) -\u0026gt; (0,5,7)\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=\"\"\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; \"\u003eExample 3:\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=\"\"\u003einput: \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; \"\u003eC\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 = [2,4,6], \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; \"\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 = 3\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=\"\"\u003eoutput: -1\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=\"\"\u003eexplanation: Since all capacities are even, any sum will be even.\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=\"\"\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=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function step = water_pouring(C,T)\r\n  step = C/T;\r\nend","test_suite":"%%\r\n%1\r\nC = [3,5];\r\nT = 4;\r\ny_correct = 6;\r\nassert(isequal(water_pouring(C,T),y_correct)) \r\n\r\n%%\r\n%2\r\nC = [2,5,10];\r\nT = 7;\r\ny_correct = 4;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%3\r\nC = [1,10];\r\nT = 9;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%4\r\nC = [2,4,6];\r\nT = 3;\r\ny_correct = -1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%5\r\nC = [3,8];\r\nT = 10;\r\ny_correct = -1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%6\r\nC = [1 5 100];\r\nT = 99;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%7\r\nC = [7 11];\r\nT = 1;\r\ny_correct = 8;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n%%\r\n%8\r\nC = [15 16 20];\r\nT = 1;\r\ny_correct = 2;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%9\r\nC = [5,5];\r\nT = 0;\r\ny_correct = 0;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%%\r\n%10\r\nC = [5,10];\r\nT = 5;\r\ny_correct = 1;\r\nassert(isequal(water_pouring(C,T),y_correct))\r\n\r\n%% Test 11: Randomized Validation (Prevents hard-coding)\r\nref_solver = @(C, T) reference_water_pouring(C, T);\r\n\r\nfor test_idx = 1:3\r\n    num_jugs = randi([2, 3]);\r\n    C_rand = randi([5, 25], 1, num_jugs);\r\n    common_gcd = C_rand(1);\r\n    for j = 2:num_jugs\r\n        common_gcd = gcd(common_gcd, C_rand(j));\r\n    end\r\n    \r\n    if rand \u003e 0.3\r\n        possible_T = common_gcd : common_gcd : max(C_rand);\r\n        T_rand = possible_T(randi(length(possible_T)));\r\n    else\r\n        T_rand = randi([1, max(C_rand)]);\r\n    end\r\n\r\n    expected = ref_solver(C_rand, T_rand);\r\n    user_result = water_pouring(C_rand, T_rand);\r\n    \r\n    assert(isequal(user_result, expected), ...\r\n        sprintf('Failed on random case: C = [%s], T = %d', num2str(C_rand), T_rand));\r\nend\r\n\r\nfunction steps = reference_water_pouring(C, T)\r\n    if T \u003e max(C), steps = -1; return; end\r\n    n = length(C);\r\n    q_states = {zeros(1, n)}; q_steps = 0;\r\n    visited = containers.Map(); visited(mat2str(zeros(1, n))) = true;\r\n    head = 1;\r\n    while head \u003c= length(q_states)\r\n        curr_state = q_states{head}; curr_dist = q_steps(head); head = head + 1;\r\n        if any(curr_state == T), steps = curr_dist; return; end\r\n        nxts = [];\r\n        for i = 1:n\r\n            s = curr_state; s(i) = C(i); nxts = [nxts; s];\r\n            s = curr_state; s(i) = 0; nxts = [nxts; s];\r\n            for j = 1:n\r\n                if i ~= j\r\n                    s = curr_state; amt = min(curr_state(i), C(j)-curr_state(j));\r\n                    s(i) = s(i)-amt; s(j) = s(j)+amt; nxts = [nxts; s];\r\n                end\r\n            end\r\n        end\r\n        for k = 1:size(nxts, 1)\r\n            st_str = mat2str(nxts(k,:));\r\n            if ~isKey(visited, st_str)\r\n                visited(st_str) = true;\r\n                q_states{end+1} = nxts(k,:); q_steps(end+1) = curr_dist + 1;\r\n            end\r\n        end\r\n        if length(q_states) \u003e 5000, break; end\r\n    end\r\n    steps = -1;\r\nend","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":4945722,"edited_by":4945722,"edited_at":"2026-02-19T19:07:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":"2026-02-19T15:39:29.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T15:31:06.000Z","updated_at":"2026-03-18T12:54:04.000Z","published_at":"2026-02-19T15:31:06.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=\\\"heading\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDescription:\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\u003eYou are given N water jugs with maximum capacities specified in a vector \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\u003eC\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\u003e= \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[ c1, c2, c3,.., c_n]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Initially, all jugs are empty. Your goal is to measure exactly \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e units of water in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eat least one\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of the jugs using the minimum number of operations.\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\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\u003eIn each step, you can perform one of the following actions:\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\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\u003e1.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eFill:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Fill any jugs \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e completely from a tap (jugs_i = C_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\u003e2.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEmpty:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Empty any jug \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ei\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e completely (jug_i = 0).\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\u003e3.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ePour:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Pour water from jug_i into jug_j until either jug_i is empty or jug_j is full.\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\u003eWrite a function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estep = water_pouring(C,T) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethat returns the minimum number of steps required. If the target T is impossible to reach, return -1.\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\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\u003eExample 1:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [3, 5], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 4.\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\u003eoutput: 6\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\u003eexplanation: (0,0) -\u0026gt; (0,5) -\u0026gt; (3,2) -\u0026gt; (0,2) -\u0026gt; (2,0) -\u0026gt; (2,5) -\u0026gt; (3,4)\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\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\u003eExample 2:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [2,5,10], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 7\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\u003eoutput: 4\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\u003eexplanation: (0,0,0) -\u0026gt; (0,0,10) -\u0026gt; (0,5,5) -\u0026gt; (2,5,5) -\u0026gt; (0,5,7)\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\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\u003eExample 3:\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\u003einput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = [2,4,6], \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3\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\u003eoutput: -1\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\u003eexplanation: Since all capacities are even, any sum will be even.\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\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\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\"}]}"},{"id":61256,"title":"Minimal Waste Pouring ( Hard )","description":"Everytime you perform Empty action, water is wasted. Instead of minimizing steps, find the path that minimizes the total volume of wasted water.\r\nInput: C, T\r\nOutput: min_waste","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: 92.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 46.4375px; transform-origin: 468.5px 46.4375px; 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=\"\"\u003eEverytime you perform \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; \"\u003eEmpty\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 action, water is wasted. Instead of minimizing steps, find the path that \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; \"\u003eminimizes the total volume of wasted water.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; 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 20.4375px; transform-origin: 451.5px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: \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=\"font-weight: 700; \"\u003eC\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, \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=\"font-weight: 700; \"\u003eT\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: \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=\"font-weight: 700; \"\u003emin_waste\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function min_waste = minimal_waste(C,T)\r\n  min_waste = C*T; %hint: using dijkstra algorithm\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5]; T = 3;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 2: \r\nC = [10, 2]; T = 8;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 3: \r\nC = [3, 5]; T = 4;\r\ny_correct = 3;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [2, 4]; T = 3;\r\ny_correct = -1;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 5: \r\nC = [3, 5]; T = 0;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 6: \r\nC = [3, 10]; T = 1;\r\ny_correct = 6;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 7:\r\nC = [3, 10]; T = 2;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [5, 6]; T = 4;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [2, 5, 10]; T = 1;\r\ny_correct = 0;\r\nassert(isequal(minimal_waste(C, T), y_correct))\r\n\r\n%% Testcase 10: \r\nC = [3, 5]; T = 6;\r\ny_correct = -1;\r\nassert(isequal(minimal_waste(C, T), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T17:57:03.000Z","updated_at":"2026-04-05T22:51:01.000Z","published_at":"2026-02-19T17:57:03.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\u003eEverytime you perform \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEmpty\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e action, water is wasted. Instead of minimizing steps, find the path that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eminimizes the total volume of wasted water.\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:t\u003eInput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT\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:t\u003eOutput: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emin_waste\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\"}]}"},{"id":61258,"title":"The Ultimate Water Challenge ( Expert )","description":"Description:\r\n   In the previous problems, you were given a target T and asked to find the minimum number of steps to reach it. In this final challenge, the target T is no longer given. Instead, you must identify the most difficult target.\r\n  Given a vector of jug capacities C, every reachable amount T ( where 1 \u003c= T \u003c= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of T that requires the highest number of minimum steps.\r\n\r\nDefinition:\r\n  Let f(T) be the minimum number of operations required to obtain exactly T units in any jug.\r\n  Find T* such that f(T) is the maximized for reachable T belongs to {1, 2, ... max( C ) }.\r\n\r\nExample:\r\nInput: [3,5]\r\nPossible targets T and their minimum steps f(T)\r\nf(3) = 1 step ( Fill 3 )\r\nf(5) = 1 step ( Fill 5 )\r\nf(2) = 2 steps ( Fill 5 -\u003e Pour 5 to 3 )\r\nf(1) = 4 steps ( Fill 3 -\u003e Pour 3 to 5 -\u003e Fill 3 -\u003e Pour 3 to 5 )\r\nf(4) = 6 steps ( Fill 5 -\u003e Pour 5 to 3 -\u003e Empty 3 -\u003e Pour 5 to 3 -\u003e Fill 5 -\u003e Pour 5 to 3 )\r\nThe maximum of these minimum is 6 steps, which occurs when T = 4\r\nOutput: 4","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: 496.938px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 248.469px; transform-origin: 468.5px 248.469px; vertical-align: baseline; \"\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; \"\u003eDescription:\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=\"\"\u003e   In the previous problems, you were given a target \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 and asked to find the minimum number of steps to reach it. In this final challenge, the target \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 is no longer given. Instead, you must identify the most difficult target.\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=\"\"\u003e  Given a vector of jug capacities C, every reachable amount \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 ( where 1 \u0026lt;= \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 \u0026lt;= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of \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 that requires the highest number of minimum steps.\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=\"\"\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; \"\u003eDefinition:\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; \"\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=\"\"\u003eLet f(\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 minimum number of operations required to obtain exactly T units in any jug.\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=\"\"\u003e  Find \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* such that f(\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) is the maximized for reachable \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 belongs to {1, 2, ... max( C ) }.\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=\"\"\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; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 183.938px; 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 91.9688px; transform-origin: 451.5px 91.9688px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eInput: [3,5]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ePossible targets T and their minimum steps f(\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=\"font-style: italic; \"\u003eT\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)\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(3) = 1 step ( Fill 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(5) = 1 step ( Fill 5 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(2) = 2 steps ( Fill 5 -\u0026gt; Pour 5 to 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(1) = 4 steps ( Fill 3 -\u0026gt; Pour 3 to 5 -\u0026gt; Fill 3 -\u0026gt; Pour 3 to 5 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003ef(4) = 6 steps ( Fill 5 -\u0026gt; Pour 5 to 3 -\u0026gt; Empty 3 -\u0026gt; Pour 5 to 3 -\u0026gt; Fill 5 -\u0026gt; Pour 5 to 3 )\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eThe maximum of these minimum is 6 steps, which occurs when T = 4\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; 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.2188px; text-align: left; transform-origin: 423.5px 10.2188px; 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=\"\"\u003eOutput: 4\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function T_worst = worst_target(C)\r\n  T_worst = C; % good luck at final test !!!\r\nend","test_suite":"%% Testcase 1: \r\nC = [3, 5];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 2: \r\nC = [4, 6];\r\ny_correct = 2;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 3:\r\nC = [1, 10];\r\ny_correct = 5; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 4: \r\nC = [3, 7];\r\ny_correct = 5;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 5:\r\nC = [2, 3, 10];\r\ny_correct = 4; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 6:\r\nC = [5, 8];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 7:\r\nC = [5, 5];\r\ny_correct = 5; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 8: \r\nC = [4, 11];\r\ny_correct = 2;\r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 9: \r\nC = [3, 4, 5];\r\ny_correct = 1; \r\nassert(isequal(worst_target(C), y_correct))\r\n\r\n%% Testcase 10:\r\nC = [8, 13];\r\ny_correct = 4;\r\nassert(isequal(worst_target(C), y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":4945722,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-19T18:54:10.000Z","updated_at":"2026-04-05T22:44:18.000Z","published_at":"2026-02-19T18:54:09.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription:\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:t\u003e   In the previous problems, you were given a target \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:rPr/\u003e\u003cw:t\u003e and asked to find the minimum number of steps to reach it. In this final challenge, the target \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:rPr/\u003e\u003cw:t\u003e is no longer given. Instead, you must identify the most difficult target.\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:t\u003e  Given a vector of jug capacities C, every reachable amount \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:rPr/\u003e\u003cw:t\u003e ( where 1 \u0026lt;= \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:rPr/\u003e\u003cw:t\u003e \u0026lt;= max(C) ) has a shortest path ( minimum steps ) required to measure it in at least one jug. Your task is to find the value of \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:rPr/\u003e\u003cw:t\u003e that requires the highest number of minimum steps.\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: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\u003eDefinition:\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\u003e  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003eLet f(\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:rPr/\u003e\u003cw:t\u003e) be the minimum number of operations required to obtain exactly T units in any jug.\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:t\u003e  Find \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:rPr/\u003e\u003cw:t\u003e* such that f(\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:rPr/\u003e\u003cw:t\u003e) is the maximized for reachable \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:rPr/\u003e\u003cw:t\u003e belongs to {1, 2, ... max( C ) }.\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: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\u003eExample:\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:t\u003eInput: [3,5]\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:t\u003ePossible targets T and their minimum steps f(\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:rPr/\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=\\\"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:t\u003ef(3) = 1 step ( Fill 3 )\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:t\u003ef(5) = 1 step ( Fill 5 )\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:t\u003ef(2) = 2 steps ( Fill 5 -\u0026gt; Pour 5 to 3 )\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:t\u003ef(1) = 4 steps ( Fill 3 -\u0026gt; Pour 3 to 5 -\u0026gt; Fill 3 -\u0026gt; Pour 3 to 5 )\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:t\u003ef(4) = 6 steps ( Fill 5 -\u0026gt; Pour 5 to 3 -\u0026gt; Empty 3 -\u0026gt; Pour 5 to 3 -\u0026gt; Fill 5 -\u0026gt; Pour 5 to 3 )\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:t\u003eThe maximum of these minimum is 6 steps, which occurs when T = 4\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:t\u003eOutput: 4\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\"}]}"},{"id":44378,"title":"Five-dimensional maze","description":"*Description*\r\n\r\nThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes _x_ and _y_. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\r\n\r\nThis problem is a generalization of \u003chttps://www.mathworks.com/matlabcentral/cody/problems/283 Problem 283\u003e. If you haven't solved that yet, I would recommend solving it first.\r\n\r\n*Encoding*\r\n\r\n* The maze will be represented by an [ _M_ x _N_ x _O_ x _P_ x _Q_ ] matrix. \r\n* Each element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\r\n* Walls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\r\n* The start position is at the origin: subscript |(1,1,1,1,1)|.\r\n* The end position is at the furthest extent: subscript |(M,N,O,P,Q)|.\r\n* The output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to \u003chttps://www.mathworks.com/matlabcentral/cody/problems/283 Problem 283\u003e for a 2-D example.\r\n* You are *NOT* guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.","description_html":"\u003cp\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes \u003ci\u003ex\u003c/i\u003e and \u003ci\u003ey\u003c/i\u003e. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\u003c/p\u003e\u003cp\u003eThis problem is a generalization of \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/283\"\u003eProblem 283\u003c/a\u003e. If you haven't solved that yet, I would recommend solving it first.\u003c/p\u003e\u003cp\u003e\u003cb\u003eEncoding\u003c/b\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe maze will be represented by an [ \u003ci\u003eM\u003c/i\u003e x \u003ci\u003eN\u003c/i\u003e x \u003ci\u003eO\u003c/i\u003e x \u003ci\u003eP\u003c/i\u003e x \u003ci\u003eQ\u003c/i\u003e ] matrix.\u003c/li\u003e\u003cli\u003eEach element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\u003c/li\u003e\u003cli\u003eWalls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\u003c/li\u003e\u003cli\u003eThe start position is at the origin: subscript \u003ctt\u003e(1,1,1,1,1)\u003c/tt\u003e.\u003c/li\u003e\u003cli\u003eThe end position is at the furthest extent: subscript \u003ctt\u003e(M,N,O,P,Q)\u003c/tt\u003e.\u003c/li\u003e\u003cli\u003eThe output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/283\"\u003eProblem 283\u003c/a\u003e for a 2-D example.\u003c/li\u003e\u003cli\u003eYou are \u003cb\u003eNOT\u003c/b\u003e guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.\u003c/li\u003e\u003c/ul\u003e","function_template":"function path = solve_maze5(maze)\r\n    path = zeros(size(maze));\r\n    path(1) = 1;\r\nend","test_suite":"%%\r\nmaze = reshape([15 15 15 15 15 15 15 15 15 31], [1 1 1 1 10]);\r\ntruth = reshape([1 2 3 4 5 6 7 8 9 10], [1 1 1 1 10]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([28 28 30 28 30 30 29 30 28 29 29 30 31 29 28 29 30 30 31 29 29 28 30 29 29 29 28 30 31 29 29 30 29 31 29 29 30 30 28 31 30 29 28 30 31 30 30 29 30 29 28 31 30 29 28 30 29 29 28 31 29 28 30 31 30 29 30 31 29 29 29 29 28 30 30 31 28 30 31 29 29 31 29 28 29 28 31 30 30 29 30 30 31 31 30 30 30 30 30 31], [10 10 1 1 1]);\r\ntruth = reshape([1 2 3 4 5 6 7 0 11 12 0 0 0 0 0 0 8 9 10 13 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 16 15 0 0 0 0 0 0 0 0 17 18 0 0 0 0 0 0 0 0 20 19 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 24 23 22 0 0 0 0 0 0 26 25 0 0 0 0 0 0 0 0 27 28 29 30 31], [10 10 1 1 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([20 29 22 23 23 23 22 30 29 21 28 29 23 29 29 29 30 29 29 29 23 22 31 30 31 23 23 29 23 21 29 29 23 22 31 23 23 22 22 31 28 23 21 28 29 31 23 30 31 23 30 22 31 23 23 28 30 31 29 21 31 29 31 21 29 22 31 29 29 29 23 23 23 31 23 22 31 22 31 31 28 23 28 23 23 23 22 31 30 23 28 23 23 28 23 31 30 31 23 23 28 31 29 28 29 31 29 29 31 31 29 31 30 29 31 29 30 31 30 31 30 30 30 31 31], [5 5 1 5 1]);\r\ntruth = reshape([1 2 0 0 0 0 3 0 0 0 13 14 0 0 0 12 15 16 0 0 11 18 17 0 0 0 0 0 0 0 0 4 0 0 0 0 5 0 0 0 9 8 25 28 29 10 19 26 27 30 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 7 24 0 0 0 20 23 0 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 22 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33], [5 5 1 5 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([18 23 19 28 27 22 23 22 31 19 25 22 29 25 21 27 25 29 27 29 30 30 31 22 31 29 23 29 29 29 29 21 29 21 31 31 30 31 31 29 29 29 21 29 29 23 23 23 30 31 23 23 29 27 19 27 27 31 22 31 30 23 28 23 27 22 29 29 19 25 19 30 31 27 23 30 22 30 28 31 29 31 21 23 23 30 29 29 21 29 22 31 31 31 31 31 30 31 30 23 27 23 22 23 29 17 19 29 23 29 25 23 19 27 29 31 22 30 31 29 18 31 19 27 31 23 31 21 28 29 31 23 31 31 29 30 29 29 31 29 23 29 30 28 31 23 30 31 31 23 19 27 29 23 27 31 30 31 27 25 19 27 30 30 31 22 31 21 26 27 31 19 31 22 23 31 30 31 22 29 28 31 28 31 31 31 29 23 21 21 23 30 23 31 31 23 23 22 30 31 29 26 31 30 29 27 26 30 29 29 30 30 30 31 27 29 26 31 25 25 30 31 27 31 31 30 30 28 31 29 30 31 30 30 31 28 29 30 31 31 31 31 30 31 29 30 31 30 30 31], [5 5 2 5 1]);\r\ntruth = reshape([1 2 0 0 0 0 0 0 0 0 0 24 23 0 0 0 19 22 0 0 0 20 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 13 0 0 0 17 14 0 0 0 3 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 11 0 0 0 0 12 0 0 0 16 15 0 0 0 4 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 35 36 0 6 7 0 0 0 0 0 0 0 0 28 0 0 0 0 29 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 38 0 0 0 34 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32 39 0 0 0 0 40], [5 5 2 5 1]);\r\nassert(isequal(solve_maze5(maze), truth));\r\n\r\n%%\r\nmaze = reshape([21 5 22 29 19 23 31 7 30 15 21 26 23 7 19 23 22 29 11 11 14 15 30 30 23 11 7 11 25 15 13 13 15 15 27 23 31 28 29 27 13 14 31 31 15 23 14 23 30 19 30 30 31 29 25 7 14 29 23 31 25 27 30 29 23 30 29 12 31 19 7 23 31 19 11 28 30 15 26 27 15 13 25 26 23 27 23 23 28 15 19 20 23 27 15 7 31 19 23 27 28 23 22 31 15 30 23 29 30 15 15 28 31 23 21 23 30 23 29 23 22 15 15 23 23 26 15 23 7 29 23 28 31 25 15 23 27 27 31 23 29 23 14 29 25 23 7 15 23 31 27 30 15 25 21 28 23 19 31 15 31 27 23 19 23 22 30 30 27 15 30 15 27 7 23 30 27 26 31 25 23 19 30 31 23 29 29 14 31 27 23 30 23 15 23 23 23 30 31 19 7 23 23 25 27 26 27 23 13 23 21 31 23 27 15 31 15 29 26 23 15 19 31 23 15 29 23 30 31 15 31 31 7 28 31 14 23 13 23 15 29 21 31 30 31 31 31 23 30 31 26 27 25 31 21 15 21 31 28 31 15 23 21 29 29 26 31 29 27 29 30 31 27 15 15 27 23 23 13 27 25 23 23 29 19 30 27 27 31 19 31 28 27 15 29 15 23 23 23 15 15 26 31 5 15 31 30 15 29 31 26 31 30 31 29 15 13 31 17 31 27 31 27 15 15 27 31 30 30 27 11 13 23 19 29 31 27 29 14 31 28 29 27 27 15 31 31 27 30 23 30 31 15 13 15 15 15 29 31 13 13 31 15 31 29 29 29 23 23 23 15 23 30 23 7 22 27 7 19 29 25 30 30 30 31 23 29 23 30 25 11 29 7 22 31 26 31 26 30 27 29 31 27 28 27 15 15 27 27 27 28 30 27 19 31 31 14 15 27 21 30 31 31 23 31 19 28 31 27 15 21 21 23 31 29 27 31 29 23 15 22 29 29 31 25 27 23 15 7 15 29 25 13 30 29 15 27 21 27 23 30 15 29 26 23 28 29 15 22 31 27 23 3 14 31 13 15 14 30 29 29 15 23 23 29 31 14 30 31 23 22 23 15 15 29 23 15 23 15 31 15 30 28 30 29 28 27 31 11 27 31 13 30 15 11 13 28 31 15 11 15 27 14 30 15 28 27 28 15 11 30 31 15 29 13 28 30 27 31 31 30 30 30 27 31 30 31 26 31 15 15 29 28 15 27 25 31 31 13 13 31 26 31 31 29 29 27 26 31 29 27 30 31 30 31 25 28 27 30 31 31 27 27 28 31 26 31 26 31 15 26 29 30 31 27 15 31 31 14 27 29 15 15 14 15 30 31 31 29 15 30 15 30 31 15 31 29 30 30 15 15 15 15 14 31 25 30 30 18 31 15 21 23 14 31 7 30 29 15 13 14 27 27 23 31 23 27 7 26 27 31 27 23 31 29 29 15 15 15 29 30 15 19 21 15 29 31 29 29 27 15 31 23 31 23 21 29 13 22 15 31 31 27 25 11 14 29 29 22 31 28 31 31 11 27 31 14 30 30 31 7 22 31 25 13 23 25 27 23 31 25 23 25 22 31 29 28 31 27 31 31 27 30 26 15 21 23 21 29 15 15 23 31 15 23 31 13 30 30 23 28 31 21 15 13 23 31 31 22 31 19 31 7 30 23 26 31 30 29 15 30 15 22 31 15 19 28 31 30 23 23 31 26 31 7 15 7 27 14 29 29 26 30 27 31 23 26 31 23 25 30 30 14 31 31 26 31 27 30 31 23 11 31 15 21 7 23 28 31 23 26 31 31 31 27 26 30 30 31 25 30 23 31 14 31 31 31 21 26 15 30 30 31 31 7 15 23 28 31 31 15 29 27 13 15 15 30 30 31 27 29 23 29 29 15 23 23 31 30 31 30 23 30 29 31 28 31 31 15 15 15 14 15 31 15 30 23 27 7 17 30 15 19 13 31 27 7 23 30 23 31 22 27 29 27 30 23 22 31 31 22 31 23 15 15 22 29 15 19 11 31 23 19 30 29 22 23 27 23 31 19 19 22 15 31 31 11 19 31 31 31 29 30 31 31 19 29 29 14 29 29 31 31 25 29 31 31 19 31 31 27 29 31 11 19 29 31 28 30 31 31 29 23 30 15 14 29 13 23 29 7 27 31 14 31 22 30 31 31 31 31 15 7 13 15 15 29 30 31 23 7 23 15 14 15 15 31 14 15 23 21 23 31 27 27 30 23 27 28 27 27 27 15 29 27 27 29 21 30 27 27 31 31 14 27 15 11 23 27 23 31 23 27 23 15 15 31 30 15 23 31 31 15 23 27 15 27 30 30 31 25 27 30 31 23 30 29 30 27 27 15 30 27 14 31 14 23 27 13 27 7 27 31 31 23 15 27 23 19 15 29 22 30 31 25 27 23 31 25 27 21 7 23 31 23 31 15 27 15 15 21 31 15 29 15 15 29 29 15 7 15 31 29 23 29 30 31 31 23 7 14 31 30 15 15 31 30 30 30 29 25 15 11 15 15 27 29 29 29 31 30 31 31 31 15 15 14 31 11 27 28 27 27 29 29 31 27 31 31 31 29 28 30 29 15 27 30 29 31 9 14 27 27 15 31 15 15 30 31 27 11 29 13 15 29 13 30 31 25 15 31 30 30 31 29 15 30 31 11 31 13 14 31 30 31 31 15 28 30 29 26 31 27 27 15 30 31 30 15 29 15 30 11 31 27 29 14 31 29 15 31 14 29 15 31 30 31 31 31 15 28 30 30 31 15 31 15 31 30 31 7 28 30 15 13 15 30 23 15 15 15 21 21 30 31 29 23 27 7 27 23 23 23 22 15 24 30 29 19 21 21 15 31 27 23 31 30 29 28 31 22 15 31 29 29 30 23 30 23 23 31 11 27 15 23 25 28 15 29 29 31 30 23 29 29 23 11 19 31 27 19 27 19 26 27 23 23 29 7 23 23 7 30 29 9 30 11 15 23 15 25 27 30 15 15 31 27 15 27 31 14 30 29 14 31 29 13 29 29 31 23 31 15 23 7 30 31 21 23 15 23 15 30 31 15 30 27 30 15 19 22 27 30 28 31 13 31 29 30 31 29 27 30 31 13 31 30 27 23 31 27 31 21 31 31 27 15 27 14 31 22 15 11 25 19 30 31 27 30 23 19 23 30 31 15 23 29 26 31 29 15 27 30 29 15 28 27 31 31 27 23 21 14 30 29 31 23 23 23 15 29 30 31 27 31 31 31 19 26 31 15 15 28 31 23 30 29 23 29 23 30 31 26 31 23 22 29 29 29 29 28 31 29 31 15 31 22 31 30 29 14 30 31 31 31 31 23 31 14 31 11 15 11 23 29 30 31 22 31 23 29 29 19 24 27 26 31 22 31 13 26 15 14 31 31 30 29 31 23 11 13 30 31 14 31 31 7 23 31 31 14 31 11 25 27 31 15 23 31 19 27 15 7 13 19 28 15 25 15 7 30 27 27 27 15 30 31 15 23 15 14 31 27 30 31 27 19 29 29 31 21 7 31 30 23 30 31 27 27 31 30 29 31 13 15 27 15 27 31 7 31 15 7 22 29 7 29 15 15 31 23 31 29 15 13 15 30 15 23 31 31 23 31 30 23 29 11 7 30 27 11 27 27 25 15 28 23 31 15 19 15 28 31 11 13 11 30 23 30 31 27 31 27 30 31 11 7 29 29 23 29 15 31 31 29 29 22 31 23 15 15 14 11 19 23 30 23 30 27 23 31 19 22 15 29 23 21 21 15 29 30 15 15 31 29 27 30 31 30 31 23 30 29 15 15 29 31 29 21 15 30 23 15 27 11 21 27 22 30 25 31 23 7 23 31 14 23 31 15 29 15 14 23 23 15 31 23 14 31 23 7 23 7 15 31 15 15 30 15 31 13 11 27 13 13 30 31 29 31 31 14 31 15 11 27 28 30 28 31 15 31 15 31 30 27 25 29 30 29 27 15 31 14 31 15 28 30 30 31 31 27 29 27 15 31 15 30 27 31 31 31 31 26 29 29 30 31 31 31 15 31 31 27 26 31 27 25 30 27 11 30 31 15 30 15 31 31 30 30 15 30 30 15 30 27 14 31 30 31 31 31 29 14 31 15 15 31 31 27 27 13 31 28 15 15 30 31 31 31 15 14 31 13 13 31 29 15 31 15 29 30 31 14 31 31 30 27 21 30 31 30 29 27 30 31 23 29 28 15 21 21 15 30 31 29 15 22 15 11 31 25 27 11 30 25 27 27 15 13 15 11 26 31 27 7 22 31 25 26 29 22 30 31 27 15 23 31 27 27 21 29 23 27 30 27 31 27 14 31 7 28 31 15 26 31 15 7 23 30 15 28 31 29 31 25 25 23 31 13 31 27 14 31 15 31 26 15 7 31 27 19 19 23 11 7 30 15 13 15 29 30 7 30 23 15 23 14 31 21 15 15 22 30 31 31 15 31 7 30 15 30 7 29 30 27 26 27 30 29 13 31 22 29 23 31 30 31 27 19 27 22 31 26 15 15 14 30 30 23 15 23 31 26 31 25 22 31 27 11 31 29 25 30 31 27 31 15 23 22 27 30 30 15 19 31 25 29 23 7 31 29 27 23 27 27 29 29 29 28 31 15 31 31 23 31 21 13 21 29 19 31 31 29 23 21 29 31 23 15 31 27 28 31 26 15 27 31 15 26 31 21 7 14 30 31 29 20 30 31 15 31 31 13 30 29 31 29 30 31 29 30 31 23 31 15 27 11 15 22 23 14 27 15 7 15 25 30 29 29 11 23 28 31 31 27 27 31 30 30 15 23 31 22 31 31 31 23 21 30 29 31 29 30 23 31 27 30 31 22 15 15 30 31 15 19 14 31 29 31 13 22 31 31 31 31 25 27 23 25 19 31 11 30 31 27 27 27 22 31 23 26 31 27 19 27 15 30 23 15 27 30 15 29 15 31 7 27 30 31 31 27 15 30 22 27 31 31 31 15 15 14 31 30 31 15 14 29 13 30 31 15 31 31 7 29 30 15 30 23 23 22 31 27 15 27 15 21 28 31 7 15 15 15 23 13 31 13 25 23 31 23 31 22 30 23 30 27 31 11 15 15 31 30 15 25 14 31 22 31 27 26 29 23 31 27 15 31 23 11 23 22 31 21 15 19 29 14 31 23 23 23 7 15 29 15 23 29 30 31 27 14 31 15 23 23 28 30 23 29 31 29 19 27 29 15 23 25 29 31 15 29 15 27 14 31 30 30 31 31 7 30 30 30 31 7 29 31 29 13 29 23 29 31 23 23 15 29 31 31 7 23 31 7 31 15 31 15 26 31 15 13 29 13 30 31 31 29 31 31 13 29 30 30 31 31 15 27 30 27 31 11 28 31 28 15 27 29 27 29 15 13 15 27 15 13 29 25 15 30 31 31 31 15 15 15 31 25 30 15 15 29 30 31 29 31 31 29 27 27 25 25 31 28 27 31 14 31 31 27 31 28 31 15 13 29 27 15 30 31 15 31 15 30 31 15 15 13 11 27 15 30 31 14 31 15 29 28 29 29 31 31 15 31 15 15 31 14 31 31 31 28 31 31 31 29 31 15 31 14 31 30 18 22 30 31 26 23 22 30 25 22 29 26 31 31 19 31 28 30 23 26 31 31 27 23 25 29 23 22 27 31 31 23 27 31 30 30 31 27 29 23 21 22 27 27 22 30 23 30 31 27 26 29 26 31 29 25 23 30 27 29 29 29 27 23 27 23 31 23 23 30 31 26 30 31 29 23 28 31 19 27 23 29 23 23 26 23 27 30 23 28 27 30 27 27 23 23 30 27 23 22 31 31 30 31 23 31 22 29 29 29 23 29 29 29 31 31 23 31 23 30 30 31 31 23 21 31 29 28 23 29 27 31 27 27 31 25 25 22 27 29 23 30 29 23 30 23 19 31 27 29 25 23 21 27 27 31 23 31 23 21 29 23 23 23 31 31 23 30 23 27 27 31 22 23 25 29 27 26 31 31 27 30 31 23 21 22 23 26 31 23 27 22 31 23 31 30 27 26 27 27 31 30 31 23 23 31 28 31 27 19 31 21 31 29 25 27 31 21 31 30 31 31 31 31 31 30 31 22 23 29 21 30 29 31 31 31 23 29 23 31 29 29 29 23 22 31 30 31 31 27 29 30 29 21 23 29 29 31 23 28 31 29 23 23 29 23 29 19 23 23 23 30 31 23 29 22 31 27 19 29 25 29 28 31 31 29 31 31 21 21 23 30 31 31 31 26 23 31 27 23 19 30 31 31 28 31 22 27 19 31 29 29 21 25 29 31 31 31 31 30 31 27 26 31 23 30 30 23 29 18 31 25 31 31 30 31 31 23 23 29 29 22 31 21 27 30 30 31 19 22 23 23 31 31 31 29 23 29 23 30 31 31 30 21 30 30 30 31 31 31 23 30 22 31 26 30 29 27 31 31 28 31 29 31 21 31 29 27 31 29 23 30 31 23 31 23 26 23 23 27 27 19 31 31 23 26 30 31 25 23 25 19 27 31 27 31 26 23 25 23 19 31 30 31 31 31 23 29 29 21 31 23 27 31 27 31 31 21 29 27 29 29 23 31 27 27 31 30 19 29 26 29 30 23 31 25 30 31 27 29 27 19 23 31 31 29 30 31 31 23 31 22 23 31 23 31 30 30 23 28 31 29 29 31 23 23 31 29 29 23 23 28 31 31 22 31 31 30 31 30 27 30 27 27 30 29 29 26 29 29 27 30 29 31 29 27 28 31 29 31 27 30 31 31 29 30 30 31 31 31 26 30 31 29 31 31 30 31 31 28 31 27 30 29 31 31 27 27 31 28 30 31 27 27 31 30 31 29 25 25 26 30 31 27 30 27 30 31 29 30 27 30 31 31 26 30 31 31 31 28 31 27 25 31 31 31 27 31 31 31 31 31 25 27 27 27 31 31 27 31 28 28 30 31 30 31 29 31 29 29 31 31 29 29 31 29 28 31 31 31 30 31 30 31], [5 5 5 5 5]);\r\ntruth = reshape([1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 94 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 98 0 0 0 0 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 0 0 0 0 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 90 0 0 0 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 89 0 0 0 105 0 0 0 0 106 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 51 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 0 0 0 0 0 0 0 0 0 0 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 0 0 0 0 61 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 20 47 48 63 0 0 0 49 52 27 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 21 46 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 53 58 0 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 45 0 0 0 0 44 0 0 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 0 0 0 121 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 0 0 0 0 0 0 0 0 0 111 0 0 0 0 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 0 0 0 0 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 0 0 0 0 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 70 77 0 0 0 0 24 0 0 0 26 25 0 0 0 0 0 0 0 0 0 79 0 0 0 69 22 0 0 0 68 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 0 0 0 0 117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 65 0 0 0 0 54 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 67 0 43 42 55 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 0 0 41 32 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 37 0 0 40 39 122 123], [5 5 5 5 5]);\r\nassert(isequal(solve_maze5(maze), truth));","published":true,"deleted":false,"likes_count":5,"comments_count":19,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":48,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":35,"created_at":"2017-10-12T15:00:57.000Z","updated_at":"2026-03-19T20:06:56.000Z","published_at":"2017-10-16T01:51:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe traditional maze is 2-dimensional: the navigator can move in the positive or negative directions along two axes\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\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\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\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Now imagine, if you will, a 5-dimensional maze. As in the 2-dimensional case, the navigator may only move along one of these directions at any time, and some of the directions are blocked by walls. Your task is to find and give the shortest path through the given maze.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is a generalization of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/283\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 283\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. If you haven't solved that yet, I would recommend solving it first.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEncoding\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe maze will be represented by an [\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\u003eM\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eO\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x\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\u003eQ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ] matrix.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach element of the matrix represents a valid location in the maze and the value of each element is a binary-coded representation of the walls, positive directions in which you can not move. If a value reads 0, it means the navigator is permitted to move along any of the five dimensions in the positive direction.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWalls are bi-directional: if a wall exists between two locations, you cannot traverse it in either direction. A skilled navigator must check the destination location's walls if she wishes to move in the negative direction along any dimension.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe start position is at the origin: subscript\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(1,1,1,1,1)\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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe end position is at the furthest extent: subscript\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(M,N,O,P,Q)\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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe output should be a matrix of the same size as the input matrix that lists the steps you need to go through to traverse the maze with the remaining squares being 0. Refer to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/283\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 283\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for a 2-D example.\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOT\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e guaranteed that there will be only one shortest path for the test cases. If there exist multiple shortest paths, you must represent them all. It can easily be shown that the superposition of two shortest paths will never lead to a multi-valued element in the output matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"bfs\"","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:\"bfs\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"bfs\"","","\"","bfs","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f69f1312948\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f69f13128a8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f69f1311fe8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f69f1312bc8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f69f1312b28\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f69f1312a88\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f69f13129e8\u003e":"tag:\"bfs\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f69f13129e8\u003e":"tag:\"bfs\""},"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":"cody-search","password":"78X075ddcV44","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:\"bfs\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"bfs\"","","\"","bfs","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f69f1312948\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f69f13128a8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f69f1311fe8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f69f1312bc8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f69f1312b28\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f69f1312a88\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f69f13129e8\u003e":"tag:\"bfs\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f69f13129e8\u003e":"tag:\"bfs\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":61251,"difficulty_rating":"easy-medium"},{"id":61255,"difficulty_rating":"medium"},{"id":61252,"difficulty_rating":"medium"},{"id":61254,"difficulty_rating":"medium-hard"},{"id":61253,"difficulty_rating":"medium-hard"},{"id":61275,"difficulty_rating":"medium-hard"},{"id":61249,"difficulty_rating":"medium-hard"},{"id":61256,"difficulty_rating":"medium-hard"},{"id":61258,"difficulty_rating":"medium-hard"},{"id":44378,"difficulty_rating":"hard"}]}}