{"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":283,"title":"Give the Shortest Path Through The Maze","description":"*Description*\r\n\r\nThe purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size _M_ x _N_ where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\r\n\r\n                                           +   +\r\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \r\n                 NW                        +   + \r\n\r\n                                           +   +\r\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\r\n                 NW                        +   +\r\n                                           \r\n                                           +---+\r\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \r\n                 NW                        +   +\r\n\r\n                                           +---+\r\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\r\n                                           +   +\r\n\r\n_Note: all outer boundaries are walls. My test cases provide for this already. You do *not* need to account for this._\r\n\r\nThe path will always start at the NorthWest corner (subscript |(1,1)|) and end at the SouthEast corner (subscript |(M,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. For example,\r\n\r\n    path = [  1   2   0   0   0   0 \r\n              4   3   0   9  10   0\r\n              5   6   7   8  11   0 \r\n              0   0   0   0  12  13 ]\r\n\r\nwhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\r\n\r\nYou 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.\r\n\r\n*Example*\r\n\r\nInput maze:\r\n\r\n    maze = [  3  2  2  2  3\r\n              1  3  2  2  3\r\n              1  3  2  3  1\r\n              1  1  0  2  0\r\n              1  0  2  1  1  ];\r\n    \r\nGraphical Representation:\r\n\r\n    +---+---+---+---+---+\r\n    |               |   |\r\n    +   +---+---+---+---+\r\n    |   |           |   |\r\n    +   +---+---+---+   +\r\n    |   |       |   |   |\r\n    +   +   +   +---+   +\r\n    |   |               |\r\n    +   +   +---+   +   +\r\n    |           |   |   |\r\n    +---+---+---+---+---+\r\n\r\nSolution:\r\n\r\n    soln = [  1   0   0   0   0\r\n              2   0   0   0   0\r\n              3   0   0   0   0\r\n              4   7   8   9  10\r\n              5   6   0   0  11 ]\r\n\r\nGraphical Representation:\r\n\r\n    \r\n    +---+---+---+---+---+\r\n    | 1             |   |\r\n    +   +---+---+---+---+\r\n    | 2 |           |   |\r\n    +   +---+---+---+   +\r\n    | 3 |       |   |   |\r\n    +   +   +   +---+   +\r\n    | 4 | 7   8   9  10 |\r\n    +   +   +---+   +   +\r\n    | 5   6     |   |11 |\r\n    +---+---+---+---+---+","description_html":"\u003cp\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size \u003ci\u003eM\u003c/i\u003e x \u003ci\u003eN\u003c/i\u003e where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\u003c/p\u003e\u003cpre\u003e                                           +   +\r\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \r\n                 NW                        +   + \u003c/pre\u003e\u003cpre\u003e                                           +   +\r\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\r\n                 NW                        +   +\u003c/pre\u003e\u003cpre\u003e                                           +---+\r\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \r\n                 NW                        +   +\u003c/pre\u003e\u003cpre\u003e                                           +---+\r\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\r\n                                           +   +\u003c/pre\u003e\u003cp\u003e\u003ci\u003eNote: all outer boundaries are walls. My test cases provide for this already. You do \u003cb\u003enot\u003c/b\u003e need to account for this.\u003c/i\u003e\u003c/p\u003e\u003cp\u003eThe path will always start at the NorthWest corner (subscript \u003ctt\u003e(1,1)\u003c/tt\u003e) and end at the SouthEast corner (subscript \u003ctt\u003e(M,N)\u003c/tt\u003e). 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. For example,\u003c/p\u003e\u003cpre\u003e    path = [  1   2   0   0   0   0 \r\n              4   3   0   9  10   0\r\n              5   6   7   8  11   0 \r\n              0   0   0   0  12  13 ]\u003c/pre\u003e\u003cp\u003ewhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\u003c/p\u003e\u003cp\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/p\u003e\u003cp\u003e\u003cb\u003eExample\u003c/b\u003e\u003c/p\u003e\u003cp\u003eInput maze:\u003c/p\u003e\u003cpre\u003e    maze = [  3  2  2  2  3\r\n              1  3  2  2  3\r\n              1  3  2  3  1\r\n              1  1  0  2  0\r\n              1  0  2  1  1  ];\u003c/pre\u003e\u003cp\u003eGraphical Representation:\u003c/p\u003e\u003cpre\u003e    +---+---+---+---+---+\r\n    |               |   |\r\n    +   +---+---+---+---+\r\n    |   |           |   |\r\n    +   +---+---+---+   +\r\n    |   |       |   |   |\r\n    +   +   +   +---+   +\r\n    |   |               |\r\n    +   +   +---+   +   +\r\n    |           |   |   |\r\n    +---+---+---+---+---+\u003c/pre\u003e\u003cp\u003eSolution:\u003c/p\u003e\u003cpre\u003e    soln = [  1   0   0   0   0\r\n              2   0   0   0   0\r\n              3   0   0   0   0\r\n              4   7   8   9  10\r\n              5   6   0   0  11 ]\u003c/pre\u003e\u003cp\u003eGraphical Representation:\u003c/p\u003e\u003cpre\u003e    +---+---+---+---+---+\r\n    | 1             |   |\r\n    +   +---+---+---+---+\r\n    | 2 |           |   |\r\n    +   +---+---+---+   +\r\n    | 3 |       |   |   |\r\n    +   +   +   +---+   +\r\n    | 4 | 7   8   9  10 |\r\n    +   +   +---+   +   +\r\n    | 5   6     |   |11 |\r\n    +---+---+---+---+---+\u003c/pre\u003e","function_template":"function path = solve_maze(maze)\r\n  path = zeros( size( maze ) );\r\nend","test_suite":"%%\r\nassert(isequal(solve_maze([3 2;1 2]),[1 0;2 3]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2;3 3 1;1 1 1]),[1 2 3;0 0 4;0 0 5]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 3 2 2 2;1 0 1 2 1;3 2 3 3 0;1 0 2 2 0;1 1 1 0 1]),[1 4 5 6 7;2 3 0 0 8;0 0 0 0 9;0 0 0 0 10;0 0 0 0 11]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 3 3 2 3;3 1 2 1 1 3 1 3;1 0 3 0 0 1 3 3;1 1 0 2 0 0 1 1;3 1 3 3 2 1 2 1;3 2 2 1 3 0 1 0;3 3 2 3 1 2 2 0;1 3 3 0 0 2 0 2;1 2 3 1 0 2 1 3;1 1 3 2 3 1 1 0]),[1 2 0 0 0 0 0 0;0 3 0 0 0 0 0 0;0 4 0 0 0 0 0 0;0 5 6 7 8 9 0 0;0 0 0 0 0 10 11 0;0 0 0 0 12 11 12 13;0 0 0 0 13 14 15 14;0 0 0 0 14 15 16 0;0 0 0 0 0 0 17 0;0 0 0 0 0 0 18 19]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 2 3 3 2 3 3 3 2 3 2 3 2 3;3 0 3 3 1 2 2 3 3 0 2 1 0 1 2 2 0;1 0 2 3 2 1 1 0 0 3 1 0 2 1 1 0 2;3 1 1 2 0 0 2 0 2 3 3 1 0 3 1 0 3;1 0 1 0 3 0 1 0 0 2 2 1 0 2 1 2 1;1 2 0 0 3 1 2 1 2 3 1 1 0 1 3 1 1;3 1 1 3 2 2 2 2 2 1 2 3 2 0 3 1 2;1 3 0 1 0 3 0 2 1 3 2 2 2 1 1 1 2;1 3 3 1 1 1 2 3 2 2 2 2 3 3 2 0 1;3 1 3 0 2 0 2 0 1 0 3 1 2 3 2 0 0;1 1 0 2 3 3 1 2 2 1 3 0 2 3 2 2 0;3 0 0 2 3 3 0 0 2 2 0 0 1 3 1 3 1]),[1 2 0 0 0 0 0 0 0 0 0 0 21 22 0 0 0;0 3 0 0 0 0 0 0 14 15 16 19 20 23 24 0 0;0 4 5 0 0 0 0 12 13 0 17 18 0 0 25 0 0;0 0 6 7 8 9 10 11 0 0 0 0 0 0 26 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 28 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 33;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 0 35;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 3 3 2 2 2 3 2 3 3 2 2 2 2 2 2 2 2 3 3 2 3 2 3;1 2 2 2 1 1 1 3 0 3 1 1 0 2 3 0 2 0 0 3 3 0 3 1 3;3 1 3 2 3 1 2 2 2 3 3 0 3 3 3 3 3 3 0 0 2 0 3 0 3;3 1 1 1 3 3 3 1 0 1 1 3 3 2 2 2 3 1 3 1 3 1 3 1 0;3 1 3 0 1 3 2 1 1 2 1 0 3 1 3 2 1 0 1 0 2 0 3 2 0;3 0 2 2 2 3 2 1 2 2 0 3 0 0 1 1 0 1 3 1 3 0 2 0 0;3 3 0 0 2 0 3 0 1 1 2 3 1 0 3 1 3 3 0 1 2 3 1 3 2;1 0 2 0 3 1 1 0 3 2 0 0 0 0 0 0 1 3 3 2 2 0 0 2 2;1 2 1 3 2 1 3 1 0 3 2 3 3 3 1 0 1 2 0 1 3 3 0 2 1;1 0 3 2 0 0 3 3 2 2 0 0 3 3 0 1 2 0 2 1 2 0 2 3 3;3 0 2 3 3 2 3 2 1 3 3 1 2 0 3 2 1 0 2 0 1 3 1 2 0;1 0 1 1 2 2 1 2 2 1 3 1 0 3 3 2 3 2 1 2 3 3 3 1 2;1 2 1 0 0 3 3 3 0 1 2 1 1 2 2 0 2 3 3 3 1 0 3 1 3;3 3 2 3 1 2 2 2 1 0 2 0 3 1 3 0 0 2 1 3 0 1 3 0 1;1 2 2 0 0 3 1 1 1 3 1 0 3 3 1 0 2 0 3 3 1 0 0 0 3;1 2 1 2 1 1 0 0 2 0 3 0 0 1 0 0 1 3 0 0 1 3 2 0 1;3 3 1 2 0 1 1 1 1 2 2 0 1 2 1 1 3 0 0 0 1 1 3 0 0;3 2 2 0 0 0 0 3 2 2 1 1 0 0 2 3 1 3 3 3 0 3 1 3 0;1 2 2 0 3 1 2 0 3 1 3 2 3 3 2 1 2 3 3 2 2 1 2 0 0;1 3 1 3 2 1 3 1 2 1 0 0 0 2 1 3 0 3 0 2 3 0 0 0 0]),[1 0 0 0 0 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 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 10 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;13 14 0 0 0 0 0 0 0 0 0 0 0 0 43 44 0 0 0 0 0 0 0 0 0;14 15 0 0 0 0 0 0 0 0 0 0 0 41 42 45 46 47 0 51 52 53 54 0 0;0 16 17 0 0 0 0 0 0 0 0 38 39 40 0 0 47 48 49 50 0 0 55 56 0;0 0 18 0 0 0 0 0 0 0 0 37 38 0 0 0 0 0 0 0 0 0 0 57 0;0 0 19 20 21 0 0 0 0 0 0 36 0 0 0 0 0 0 0 0 0 0 0 58 0;0 0 0 0 22 23 24 25 0 0 0 35 0 0 0 0 0 0 0 0 0 0 0 59 0;0 0 0 0 0 0 25 26 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 60 0;0 0 0 0 0 0 26 27 28 0 0 33 0 0 0 0 0 0 0 0 0 0 0 61 0;0 0 0 0 0 0 0 0 29 30 31 32 0 0 0 0 0 0 0 0 0 0 0 62 63;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64;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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 3 3 2 3 2 3 2 3 2 3 2 2 2 2 3 3 3 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 2 3 3 3 2 2 3 2 3;3 2 0 1 3 2 1 0 1 2 2 1 2 1 1 0 2 1 0 2 1 3 3 2 3 3 0 0 3 2 3 1 3 1 3 3 0 3 1 0 0 2 1 1 0;1 1 3 0 3 3 0 1 2 2 3 0 0 2 2 3 3 0 0 1 3 3 3 1 3 2 3 1 3 3 1 0 0 0 0 2 2 2 0 3 3 0 1 1 2;1 0 2 2 0 1 0 2 2 3 2 1 0 3 1 3 1 1 1 3 3 2 1 1 2 0 1 1 2 1 3 0 3 3 0 1 1 2 2 3 1 1 1 1 3;1 1 0 0 0 3 0 2 2 0 0 2 1 3 2 3 2 1 3 2 0 2 3 0 0 0 3 0 0 1 0 1 0 2 0 1 1 1 2 3 0 2 1 3 1;3 3 1 1 2 0 3 0 0 3 2 1 1 1 3 1 3 0 1 0 1 0 3 1 3 1 2 3 1 2 1 1 3 3 2 1 2 1 3 0 2 3 2 0 2;3 1 2 0 0 3 3 1 1 2 1 0 3 3 3 0 2 1 3 0 3 0 0 2 2 3 2 1 0 1 3 2 0 2 3 3 3 0 1 2 1 1 1 0 2;3 1 2 0 0 3 1 0 3 3 2 3 2 0 2 3 2 2 0 0 2 0 1 1 3 1 1 3 2 0 1 0 0 2 2 1 2 1 0 0 3 0 2 2 1;3 0 0 2 0 0 1 0 3 2 2 0 0 3 1 1 2 0 0 0 3 2 0 2 1 1 2 0 3 2 3 2 0 3 3 3 1 3 2 1 0 2 0 1 2;1 0 1 0 1 2 3 2 0 1 0 0 0 1 1 2 1 3 0 2 0 0 0 3 2 0 0 1 2 0 2 1 2 3 2 1 0 3 2 0 2 1 1 2 2;3 0 0 1 0 2 0 2 0 2 3 2 3 0 2 3 3 1 0 2 3 2 0 3 0 0 2 0 2 3 0 3 1 0 3 1 0 2 2 1 0 1 2 2 3;1 3 3 1 2 3 1 2 2 3 3 3 3 0 2 1 2 1 1 3 0 2 2 2 0 3 3 2 0 3 0 0 0 0 3 2 2 0 0 1 3 3 0 0 0;1 0 3 1 2 1 0 3 0 0 0 0 3 2 3 0 2 2 0 0 1 1 1 2 3 3 1 0 2 1 2 1 3 1 2 0 2 3 0 0 0 3 1 0 3;3 2 0 0 1 1 2 3 1 1 2 1 2 2 0 3 2 1 2 0 0 1 3 1 3 2 2 3 3 3 3 0 3 1 2 0 0 1 1 3 3 2 2 1 2;1 3 3 1 3 0 0 2 0 3 0 3 1 2 2 3 0 3 0 2 0 3 1 1 0 2 3 2 1 2 0 0 2 0 3 1 0 3 2 1 0 1 1 1 2;3 1 3 3 2 1 2 1 1 3 1 3 1 0 3 3 2 3 1 3 0 0 1 2 1 3 0 2 2 2 2 1 2 3 2 0 3 2 0 2 1 2 1 1 2;1 2 2 1 3 2 0 3 1 1 1 0 2 3 1 2 0 0 2 0 0 2 3 2 3 1 1 3 2 1 1 3 3 3 0 1 3 3 1 0 2 0 1 1 0;1 2 0 0 2 1 1 0 2 2 0 2 0 3 1 2 2 0 2 0 3 2 0 0 2 1 1 1 0 1 2 0 0 2 3 1 0 0 1 2 0 3 2 1 2;1 2 2 1 0 2 1 1 3 1 2 3 1 2 2 3 1 2 2 2 1 1 0 0 1 2 0 2 0 3 2 1 0 2 3 1 1 0 2 1 1 0 0 0 2;3 0 2 0 1 1 2 0 3 3 3 3 0 1 0 1 3 1 1 2 1 1 1 3 0 0 3 0 0 3 1 0 2 3 2 0 2 2 0 3 0 1 1 3 0;3 1 3 0 2 1 3 1 0 3 0 3 1 2 1 3 2 3 0 1 0 3 3 3 0 1 2 0 0 1 2 2 3 2 0 2 1 2 2 3 1 0 0 3 1;3 1 2 0 1 2 3 0 1 0 0 1 2 0 1 1 1 2 1 1 3 1 1 2 0 1 3 0 3 0 0 0 0 1 1 2 1 3 0 2 0 3 2 2 1;3 0 2 1 0 3 2 2 1 0 2 3 1 1 2 1 1 1 1 3 3 2 2 3 2 1 2 2 0 1 3 3 0 3 3 0 1 2 0 0 3 2 1 0 1;3 3 2 2 3 3 2 0 2 1 1 3 3 3 1 2 0 3 0 1 1 3 3 1 0 3 0 1 0 2 1 2 2 0 0 0 2 1 2 1 0 3 0 3 2;1 0 3 2 1 0 2 3 1 1 3 1 3 2 2 2 3 0 2 1 3 2 1 1 1 3 1 0 0 0 0 0 3 2 3 3 3 1 2 2 1 2 0 3 0;1 0 3 3 3 2 2 3 0 0 0 3 3 3 0 0 3 3 0 0 2 3 1 3 3 3 1 1 3 2 3 0 0 2 2 1 0 0 2 3 3 3 3 3 0;3 0 1 1 0 1 2 3 1 3 1 3 0 3 3 1 2 3 3 2 3 3 2 3 1 3 2 1 0 1 0 1 3 1 0 2 2 0 0 3 1 0 3 0 0;1 3 3 2 2 2 1 0 1 0 3 3 2 0 2 3 0 1 0 0 3 1 0 1 2 1 0 2 1 3 2 3 2 0 0 2 0 3 2 1 3 1 0 0 3;3 2 3 2 2 3 1 3 0 1 2 0 3 3 2 3 3 1 0 1 1 1 0 2 2 2 3 3 2 0 2 0 1 1 0 2 0 1 0 2 1 0 3 2 0;3 0 3 1 0 3 3 3 0 2 1 2 2 2 0 2 0 3 1 1 0 2 2 0 0 2 2 1 0 1 0 0 2 3 3 0 0 0 0 2 2 0 3 2 0;3 1 3 0 1 2 3 3 1 1 3 1 2 0 1 1 0 3 1 1 0 2 3 1 3 2 1 1 3 0 3 3 3 0 1 3 2 0 0 3 2 3 2 0 1;3 2 2 2 2 3 3 0 1 2 1 2 3 3 2 2 2 2 3 0 1 2 0 3 2 2 3 0 2 2 3 1 1 0 0 3 2 3 0 0 1 2 2 0 0;3 1 3 2 1 3 1 2 3 2 2 2 2 0 1 3 0 2 3 0 0 3 3 2 3 3 1 2 1 1 0 0 3 2 0 3 0 2 1 0 2 3 2 1 3;3 1 0 0 1 2 3 2 2 3 1 0 1 2 2 0 3 2 1 0 1 1 0 2 1 3 0 1 1 0 1 2 1 3 1 3 3 0 2 0 0 1 0 0 2;3 0 0 3 0 2 2 1 1 0 0 2 0 3 0 2 1 0 3 2 0 3 3 3 3 0 3 0 0 1 2 0 1 3 2 3 0 3 0 2 3 1 2 0 0;3 3 0 2 0 0 2 0 0 0 1 2 2 0 0 1 0 2 2 1 0 2 2 2 3 3 2 3 0 2 0 2 1 2 0 1 1 3 3 0 3 2 1 2 3;3 2 0 2 1 3 3 0 3 0 1 1 0 3 0 2 0 3 1 2 0 0 3 2 2 1 1 2 1 0 2 0 0 1 3 2 2 2 2 1 2 1 2 3 1;1 3 1 2 2 0 2 0 3 3 3 2 1 0 2 3 1 2 3 3 2 3 2 1 2 0 3 3 1 1 1 0 3 2 0 0 1 2 2 2 0 2 1 3 3;1 3 3 3 0 0 3 2 2 1 2 0 2 3 1 2 0 2 1 3 3 2 0 1 3 0 0 2 3 1 3 3 1 0 0 0 2 2 3 3 2 0 1 2 1;3 3 2 0 0 0 1 2 0 0 3 1 2 1 0 1 0 2 1 0 2 1 2 2 2 1 0 1 1 3 1 3 2 3 3 1 3 2 0 3 3 0 2 2 2;1 1 1 0 3 1 0 0 3 2 3 2 2 0 2 2 3 0 1 2 0 1 3 3 2 1 3 1 1 0 2 1 0 0 0 0 2 3 1 3 0 1 1 2 0;3 1 0 1 0 1 3 3 2 2 3 2 1 3 2 0 1 1 2 0 0 2 2 2 2 1 1 3 3 1 0 3 0 2 0 1 2 2 2 2 2 0 1 3 1;1 0 3 1 1 2 3 1 3 1 0 1 1 1 3 0 2 3 1 3 1 0 3 3 3 2 0 1 3 3 1 3 0 0 2 3 0 2 3 1 3 2 1 3 2;3 0 3 2 3 3 2 3 3 1 0 0 3 2 0 1 0 3 1 1 2 0 0 3 2 1 1 2 2 1 1 1 2 1 3 1 3 3 3 2 0 1 0 2 2;1 3 3 1 3 2 2 3 2 0 2 3 3 1 3 1 0 3 0 1 2 2 1 1 1 2 2 2 0 3 0 2 1 0 3 1 2 0 1 0 0 3 0 3 0;3 2 3 1 0 0 0 0 2 3 1 3 3 2 2 1 2 1 3 2 2 1 0 2 2 1 0 3 1 3 1 3 2 0 1 3 2 2 3 0 2 1 3 1 3;1 3 3 1 3 0 3 1 0 3 1 1 2 0 3 2 1 2 1 2 3 0 1 2 3 0 1 2 1 0 0 3 1 3 0 2 3 2 2 2 0 1 0 3 3;3 0 0 0 0 0 3 0 0 1 3 0 1 3 3 3 1 0 1 2 1 0 1 0 3 1 0 1 2 1 3 1 0 2 0 3 0 3 0 2 2 0 2 0 3;3 2 0 3 2 3 3 1 1 3 0 0 0 3 3 2 2 3 1 3 3 2 1 3 3 2 0 2 0 3 2 0 1 1 2 2 1 1 2 0 0 2 0 1 1;1 1 1 2 0 1 0 0 2 0 2 2 3 3 3 3 0 3 0 3 1 3 3 1 3 0 3 3 0 1 0 1 1 2 2 0 3 3 0 3 0 3 3 0 0]),[1 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 5 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 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 7 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 8 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 11 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 12 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 13 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 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;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 47 48 49 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 17 18 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 44 45 46 0 0 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 20 21 22 0 0 0 0 0 0 0 0 0 0 37 38 39 40 41 42 0 0 0 0 0 52 53 54 55 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 23 24 25 26 0 0 31 32 33 34 35 36 0 0 0 0 0 0 0 0 0 0 0 0 0 56 57 58 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 27 28 29 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 58 59 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 66 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 70 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 79 80 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 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 0 0 0 0 83 84 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 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 88 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 91 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 93 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 96 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 98 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 102 101 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 106 107 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 109 110]))","published":true,"deleted":false,"likes_count":14,"comments_count":0,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":"2012-02-08T22:51:09.000Z","rescore_all_solutions":false,"group_id":33,"created_at":"2012-02-08T03:01:26.000Z","updated_at":"2026-02-07T15:43:43.000Z","published_at":"2012-02-09T00:21:05.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 purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size\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 where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[                                           +   +\\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \\n                 NW                        +   + \\n\\n                                           +   +\\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\\n                 NW                        +   +\\n\\n                                           +---+\\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \\n                 NW                        +   +\\n\\n                                           +---+\\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\\n                                           +   +]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNote: all outer boundaries are walls. My test cases provide for this already. You do\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\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003enot\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e need to account for this.\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 path will always start at the NorthWest corner (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)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) and end at the SouthEast corner (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)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e). 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. For example,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    path = [  1   2   0   0   0   0 \\n              4   3   0   9  10   0\\n              5   6   7   8  11   0 \\n              0   0   0   0  12  13 ]]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\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\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\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\u003eExample\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\u003eInput maze:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    maze = [  3  2  2  2  3\\n              1  3  2  2  3\\n              1  3  2  3  1\\n              1  1  0  2  0\\n              1  0  2  1  1  ];]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGraphical Representation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    +---+---+---+---+---+\\n    |               |   |\\n    +   +---+---+---+---+\\n    |   |           |   |\\n    +   +---+---+---+   +\\n    |   |       |   |   |\\n    +   +   +   +---+   +\\n    |   |               |\\n    +   +   +---+   +   +\\n    |           |   |   |\\n    +---+---+---+---+---+]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSolution:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    soln = [  1   0   0   0   0\\n              2   0   0   0   0\\n              3   0   0   0   0\\n              4   7   8   9  10\\n              5   6   0   0  11 ]]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGraphical Representation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    +---+---+---+---+---+\\n    | 1             |   |\\n    +   +---+---+---+---+\\n    | 2 |           |   |\\n    +   +---+---+---+   +\\n    | 3 |       |   |   |\\n    +   +   +   +---+   +\\n    | 4 | 7   8   9  10 |\\n    +   +   +---+   +   +\\n    | 5   6     |   |11 |\\n    +---+---+---+---+---+]]\u003e\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":283,"title":"Give the Shortest Path Through The Maze","description":"*Description*\r\n\r\nThe purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size _M_ x _N_ where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\r\n\r\n                                           +   +\r\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \r\n                 NW                        +   + \r\n\r\n                                           +   +\r\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\r\n                 NW                        +   +\r\n                                           \r\n                                           +---+\r\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \r\n                 NW                        +   +\r\n\r\n                                           +---+\r\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\r\n                                           +   +\r\n\r\n_Note: all outer boundaries are walls. My test cases provide for this already. You do *not* need to account for this._\r\n\r\nThe path will always start at the NorthWest corner (subscript |(1,1)|) and end at the SouthEast corner (subscript |(M,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. For example,\r\n\r\n    path = [  1   2   0   0   0   0 \r\n              4   3   0   9  10   0\r\n              5   6   7   8  11   0 \r\n              0   0   0   0  12  13 ]\r\n\r\nwhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\r\n\r\nYou 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.\r\n\r\n*Example*\r\n\r\nInput maze:\r\n\r\n    maze = [  3  2  2  2  3\r\n              1  3  2  2  3\r\n              1  3  2  3  1\r\n              1  1  0  2  0\r\n              1  0  2  1  1  ];\r\n    \r\nGraphical Representation:\r\n\r\n    +---+---+---+---+---+\r\n    |               |   |\r\n    +   +---+---+---+---+\r\n    |   |           |   |\r\n    +   +---+---+---+   +\r\n    |   |       |   |   |\r\n    +   +   +   +---+   +\r\n    |   |               |\r\n    +   +   +---+   +   +\r\n    |           |   |   |\r\n    +---+---+---+---+---+\r\n\r\nSolution:\r\n\r\n    soln = [  1   0   0   0   0\r\n              2   0   0   0   0\r\n              3   0   0   0   0\r\n              4   7   8   9  10\r\n              5   6   0   0  11 ]\r\n\r\nGraphical Representation:\r\n\r\n    \r\n    +---+---+---+---+---+\r\n    | 1             |   |\r\n    +   +---+---+---+---+\r\n    | 2 |           |   |\r\n    +   +---+---+---+   +\r\n    | 3 |       |   |   |\r\n    +   +   +   +---+   +\r\n    | 4 | 7   8   9  10 |\r\n    +   +   +---+   +   +\r\n    | 5   6     |   |11 |\r\n    +---+---+---+---+---+","description_html":"\u003cp\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size \u003ci\u003eM\u003c/i\u003e x \u003ci\u003eN\u003c/i\u003e where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\u003c/p\u003e\u003cpre\u003e                                           +   +\r\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \r\n                 NW                        +   + \u003c/pre\u003e\u003cpre\u003e                                           +   +\r\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\r\n                 NW                        +   +\u003c/pre\u003e\u003cpre\u003e                                           +---+\r\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \r\n                 NW                        +   +\u003c/pre\u003e\u003cpre\u003e                                           +---+\r\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\r\n                                           +   +\u003c/pre\u003e\u003cp\u003e\u003ci\u003eNote: all outer boundaries are walls. My test cases provide for this already. You do \u003cb\u003enot\u003c/b\u003e need to account for this.\u003c/i\u003e\u003c/p\u003e\u003cp\u003eThe path will always start at the NorthWest corner (subscript \u003ctt\u003e(1,1)\u003c/tt\u003e) and end at the SouthEast corner (subscript \u003ctt\u003e(M,N)\u003c/tt\u003e). 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. For example,\u003c/p\u003e\u003cpre\u003e    path = [  1   2   0   0   0   0 \r\n              4   3   0   9  10   0\r\n              5   6   7   8  11   0 \r\n              0   0   0   0  12  13 ]\u003c/pre\u003e\u003cp\u003ewhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\u003c/p\u003e\u003cp\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/p\u003e\u003cp\u003e\u003cb\u003eExample\u003c/b\u003e\u003c/p\u003e\u003cp\u003eInput maze:\u003c/p\u003e\u003cpre\u003e    maze = [  3  2  2  2  3\r\n              1  3  2  2  3\r\n              1  3  2  3  1\r\n              1  1  0  2  0\r\n              1  0  2  1  1  ];\u003c/pre\u003e\u003cp\u003eGraphical Representation:\u003c/p\u003e\u003cpre\u003e    +---+---+---+---+---+\r\n    |               |   |\r\n    +   +---+---+---+---+\r\n    |   |           |   |\r\n    +   +---+---+---+   +\r\n    |   |       |   |   |\r\n    +   +   +   +---+   +\r\n    |   |               |\r\n    +   +   +---+   +   +\r\n    |           |   |   |\r\n    +---+---+---+---+---+\u003c/pre\u003e\u003cp\u003eSolution:\u003c/p\u003e\u003cpre\u003e    soln = [  1   0   0   0   0\r\n              2   0   0   0   0\r\n              3   0   0   0   0\r\n              4   7   8   9  10\r\n              5   6   0   0  11 ]\u003c/pre\u003e\u003cp\u003eGraphical Representation:\u003c/p\u003e\u003cpre\u003e    +---+---+---+---+---+\r\n    | 1             |   |\r\n    +   +---+---+---+---+\r\n    | 2 |           |   |\r\n    +   +---+---+---+   +\r\n    | 3 |       |   |   |\r\n    +   +   +   +---+   +\r\n    | 4 | 7   8   9  10 |\r\n    +   +   +---+   +   +\r\n    | 5   6     |   |11 |\r\n    +---+---+---+---+---+\u003c/pre\u003e","function_template":"function path = solve_maze(maze)\r\n  path = zeros( size( maze ) );\r\nend","test_suite":"%%\r\nassert(isequal(solve_maze([3 2;1 2]),[1 0;2 3]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2;3 3 1;1 1 1]),[1 2 3;0 0 4;0 0 5]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 3 2 2 2;1 0 1 2 1;3 2 3 3 0;1 0 2 2 0;1 1 1 0 1]),[1 4 5 6 7;2 3 0 0 8;0 0 0 0 9;0 0 0 0 10;0 0 0 0 11]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 3 3 2 3;3 1 2 1 1 3 1 3;1 0 3 0 0 1 3 3;1 1 0 2 0 0 1 1;3 1 3 3 2 1 2 1;3 2 2 1 3 0 1 0;3 3 2 3 1 2 2 0;1 3 3 0 0 2 0 2;1 2 3 1 0 2 1 3;1 1 3 2 3 1 1 0]),[1 2 0 0 0 0 0 0;0 3 0 0 0 0 0 0;0 4 0 0 0 0 0 0;0 5 6 7 8 9 0 0;0 0 0 0 0 10 11 0;0 0 0 0 12 11 12 13;0 0 0 0 13 14 15 14;0 0 0 0 14 15 16 0;0 0 0 0 0 0 17 0;0 0 0 0 0 0 18 19]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 2 3 3 2 3 3 3 2 3 2 3 2 3;3 0 3 3 1 2 2 3 3 0 2 1 0 1 2 2 0;1 0 2 3 2 1 1 0 0 3 1 0 2 1 1 0 2;3 1 1 2 0 0 2 0 2 3 3 1 0 3 1 0 3;1 0 1 0 3 0 1 0 0 2 2 1 0 2 1 2 1;1 2 0 0 3 1 2 1 2 3 1 1 0 1 3 1 1;3 1 1 3 2 2 2 2 2 1 2 3 2 0 3 1 2;1 3 0 1 0 3 0 2 1 3 2 2 2 1 1 1 2;1 3 3 1 1 1 2 3 2 2 2 2 3 3 2 0 1;3 1 3 0 2 0 2 0 1 0 3 1 2 3 2 0 0;1 1 0 2 3 3 1 2 2 1 3 0 2 3 2 2 0;3 0 0 2 3 3 0 0 2 2 0 0 1 3 1 3 1]),[1 2 0 0 0 0 0 0 0 0 0 0 21 22 0 0 0;0 3 0 0 0 0 0 0 14 15 16 19 20 23 24 0 0;0 4 5 0 0 0 0 12 13 0 17 18 0 0 25 0 0;0 0 6 7 8 9 10 11 0 0 0 0 0 0 26 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 28 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 32;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 33;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 0 35;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 3 3 2 2 2 3 2 3 3 2 2 2 2 2 2 2 2 3 3 2 3 2 3;1 2 2 2 1 1 1 3 0 3 1 1 0 2 3 0 2 0 0 3 3 0 3 1 3;3 1 3 2 3 1 2 2 2 3 3 0 3 3 3 3 3 3 0 0 2 0 3 0 3;3 1 1 1 3 3 3 1 0 1 1 3 3 2 2 2 3 1 3 1 3 1 3 1 0;3 1 3 0 1 3 2 1 1 2 1 0 3 1 3 2 1 0 1 0 2 0 3 2 0;3 0 2 2 2 3 2 1 2 2 0 3 0 0 1 1 0 1 3 1 3 0 2 0 0;3 3 0 0 2 0 3 0 1 1 2 3 1 0 3 1 3 3 0 1 2 3 1 3 2;1 0 2 0 3 1 1 0 3 2 0 0 0 0 0 0 1 3 3 2 2 0 0 2 2;1 2 1 3 2 1 3 1 0 3 2 3 3 3 1 0 1 2 0 1 3 3 0 2 1;1 0 3 2 0 0 3 3 2 2 0 0 3 3 0 1 2 0 2 1 2 0 2 3 3;3 0 2 3 3 2 3 2 1 3 3 1 2 0 3 2 1 0 2 0 1 3 1 2 0;1 0 1 1 2 2 1 2 2 1 3 1 0 3 3 2 3 2 1 2 3 3 3 1 2;1 2 1 0 0 3 3 3 0 1 2 1 1 2 2 0 2 3 3 3 1 0 3 1 3;3 3 2 3 1 2 2 2 1 0 2 0 3 1 3 0 0 2 1 3 0 1 3 0 1;1 2 2 0 0 3 1 1 1 3 1 0 3 3 1 0 2 0 3 3 1 0 0 0 3;1 2 1 2 1 1 0 0 2 0 3 0 0 1 0 0 1 3 0 0 1 3 2 0 1;3 3 1 2 0 1 1 1 1 2 2 0 1 2 1 1 3 0 0 0 1 1 3 0 0;3 2 2 0 0 0 0 3 2 2 1 1 0 0 2 3 1 3 3 3 0 3 1 3 0;1 2 2 0 3 1 2 0 3 1 3 2 3 3 2 1 2 3 3 2 2 1 2 0 0;1 3 1 3 2 1 3 1 2 1 0 0 0 2 1 3 0 3 0 2 3 0 0 0 0]),[1 0 0 0 0 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 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 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 10 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;13 14 0 0 0 0 0 0 0 0 0 0 0 0 43 44 0 0 0 0 0 0 0 0 0;14 15 0 0 0 0 0 0 0 0 0 0 0 41 42 45 46 47 0 51 52 53 54 0 0;0 16 17 0 0 0 0 0 0 0 0 38 39 40 0 0 47 48 49 50 0 0 55 56 0;0 0 18 0 0 0 0 0 0 0 0 37 38 0 0 0 0 0 0 0 0 0 0 57 0;0 0 19 20 21 0 0 0 0 0 0 36 0 0 0 0 0 0 0 0 0 0 0 58 0;0 0 0 0 22 23 24 25 0 0 0 35 0 0 0 0 0 0 0 0 0 0 0 59 0;0 0 0 0 0 0 25 26 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 60 0;0 0 0 0 0 0 26 27 28 0 0 33 0 0 0 0 0 0 0 0 0 0 0 61 0;0 0 0 0 0 0 0 0 29 30 31 32 0 0 0 0 0 0 0 0 0 0 0 62 63;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64;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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66]))\r\n\r\n%%\r\nassert(isequal(solve_maze([3 2 2 3 3 3 2 3 2 3 2 3 2 3 2 2 2 2 3 3 3 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 2 3 3 3 2 2 3 2 3;3 2 0 1 3 2 1 0 1 2 2 1 2 1 1 0 2 1 0 2 1 3 3 2 3 3 0 0 3 2 3 1 3 1 3 3 0 3 1 0 0 2 1 1 0;1 1 3 0 3 3 0 1 2 2 3 0 0 2 2 3 3 0 0 1 3 3 3 1 3 2 3 1 3 3 1 0 0 0 0 2 2 2 0 3 3 0 1 1 2;1 0 2 2 0 1 0 2 2 3 2 1 0 3 1 3 1 1 1 3 3 2 1 1 2 0 1 1 2 1 3 0 3 3 0 1 1 2 2 3 1 1 1 1 3;1 1 0 0 0 3 0 2 2 0 0 2 1 3 2 3 2 1 3 2 0 2 3 0 0 0 3 0 0 1 0 1 0 2 0 1 1 1 2 3 0 2 1 3 1;3 3 1 1 2 0 3 0 0 3 2 1 1 1 3 1 3 0 1 0 1 0 3 1 3 1 2 3 1 2 1 1 3 3 2 1 2 1 3 0 2 3 2 0 2;3 1 2 0 0 3 3 1 1 2 1 0 3 3 3 0 2 1 3 0 3 0 0 2 2 3 2 1 0 1 3 2 0 2 3 3 3 0 1 2 1 1 1 0 2;3 1 2 0 0 3 1 0 3 3 2 3 2 0 2 3 2 2 0 0 2 0 1 1 3 1 1 3 2 0 1 0 0 2 2 1 2 1 0 0 3 0 2 2 1;3 0 0 2 0 0 1 0 3 2 2 0 0 3 1 1 2 0 0 0 3 2 0 2 1 1 2 0 3 2 3 2 0 3 3 3 1 3 2 1 0 2 0 1 2;1 0 1 0 1 2 3 2 0 1 0 0 0 1 1 2 1 3 0 2 0 0 0 3 2 0 0 1 2 0 2 1 2 3 2 1 0 3 2 0 2 1 1 2 2;3 0 0 1 0 2 0 2 0 2 3 2 3 0 2 3 3 1 0 2 3 2 0 3 0 0 2 0 2 3 0 3 1 0 3 1 0 2 2 1 0 1 2 2 3;1 3 3 1 2 3 1 2 2 3 3 3 3 0 2 1 2 1 1 3 0 2 2 2 0 3 3 2 0 3 0 0 0 0 3 2 2 0 0 1 3 3 0 0 0;1 0 3 1 2 1 0 3 0 0 0 0 3 2 3 0 2 2 0 0 1 1 1 2 3 3 1 0 2 1 2 1 3 1 2 0 2 3 0 0 0 3 1 0 3;3 2 0 0 1 1 2 3 1 1 2 1 2 2 0 3 2 1 2 0 0 1 3 1 3 2 2 3 3 3 3 0 3 1 2 0 0 1 1 3 3 2 2 1 2;1 3 3 1 3 0 0 2 0 3 0 3 1 2 2 3 0 3 0 2 0 3 1 1 0 2 3 2 1 2 0 0 2 0 3 1 0 3 2 1 0 1 1 1 2;3 1 3 3 2 1 2 1 1 3 1 3 1 0 3 3 2 3 1 3 0 0 1 2 1 3 0 2 2 2 2 1 2 3 2 0 3 2 0 2 1 2 1 1 2;1 2 2 1 3 2 0 3 1 1 1 0 2 3 1 2 0 0 2 0 0 2 3 2 3 1 1 3 2 1 1 3 3 3 0 1 3 3 1 0 2 0 1 1 0;1 2 0 0 2 1 1 0 2 2 0 2 0 3 1 2 2 0 2 0 3 2 0 0 2 1 1 1 0 1 2 0 0 2 3 1 0 0 1 2 0 3 2 1 2;1 2 2 1 0 2 1 1 3 1 2 3 1 2 2 3 1 2 2 2 1 1 0 0 1 2 0 2 0 3 2 1 0 2 3 1 1 0 2 1 1 0 0 0 2;3 0 2 0 1 1 2 0 3 3 3 3 0 1 0 1 3 1 1 2 1 1 1 3 0 0 3 0 0 3 1 0 2 3 2 0 2 2 0 3 0 1 1 3 0;3 1 3 0 2 1 3 1 0 3 0 3 1 2 1 3 2 3 0 1 0 3 3 3 0 1 2 0 0 1 2 2 3 2 0 2 1 2 2 3 1 0 0 3 1;3 1 2 0 1 2 3 0 1 0 0 1 2 0 1 1 1 2 1 1 3 1 1 2 0 1 3 0 3 0 0 0 0 1 1 2 1 3 0 2 0 3 2 2 1;3 0 2 1 0 3 2 2 1 0 2 3 1 1 2 1 1 1 1 3 3 2 2 3 2 1 2 2 0 1 3 3 0 3 3 0 1 2 0 0 3 2 1 0 1;3 3 2 2 3 3 2 0 2 1 1 3 3 3 1 2 0 3 0 1 1 3 3 1 0 3 0 1 0 2 1 2 2 0 0 0 2 1 2 1 0 3 0 3 2;1 0 3 2 1 0 2 3 1 1 3 1 3 2 2 2 3 0 2 1 3 2 1 1 1 3 1 0 0 0 0 0 3 2 3 3 3 1 2 2 1 2 0 3 0;1 0 3 3 3 2 2 3 0 0 0 3 3 3 0 0 3 3 0 0 2 3 1 3 3 3 1 1 3 2 3 0 0 2 2 1 0 0 2 3 3 3 3 3 0;3 0 1 1 0 1 2 3 1 3 1 3 0 3 3 1 2 3 3 2 3 3 2 3 1 3 2 1 0 1 0 1 3 1 0 2 2 0 0 3 1 0 3 0 0;1 3 3 2 2 2 1 0 1 0 3 3 2 0 2 3 0 1 0 0 3 1 0 1 2 1 0 2 1 3 2 3 2 0 0 2 0 3 2 1 3 1 0 0 3;3 2 3 2 2 3 1 3 0 1 2 0 3 3 2 3 3 1 0 1 1 1 0 2 2 2 3 3 2 0 2 0 1 1 0 2 0 1 0 2 1 0 3 2 0;3 0 3 1 0 3 3 3 0 2 1 2 2 2 0 2 0 3 1 1 0 2 2 0 0 2 2 1 0 1 0 0 2 3 3 0 0 0 0 2 2 0 3 2 0;3 1 3 0 1 2 3 3 1 1 3 1 2 0 1 1 0 3 1 1 0 2 3 1 3 2 1 1 3 0 3 3 3 0 1 3 2 0 0 3 2 3 2 0 1;3 2 2 2 2 3 3 0 1 2 1 2 3 3 2 2 2 2 3 0 1 2 0 3 2 2 3 0 2 2 3 1 1 0 0 3 2 3 0 0 1 2 2 0 0;3 1 3 2 1 3 1 2 3 2 2 2 2 0 1 3 0 2 3 0 0 3 3 2 3 3 1 2 1 1 0 0 3 2 0 3 0 2 1 0 2 3 2 1 3;3 1 0 0 1 2 3 2 2 3 1 0 1 2 2 0 3 2 1 0 1 1 0 2 1 3 0 1 1 0 1 2 1 3 1 3 3 0 2 0 0 1 0 0 2;3 0 0 3 0 2 2 1 1 0 0 2 0 3 0 2 1 0 3 2 0 3 3 3 3 0 3 0 0 1 2 0 1 3 2 3 0 3 0 2 3 1 2 0 0;3 3 0 2 0 0 2 0 0 0 1 2 2 0 0 1 0 2 2 1 0 2 2 2 3 3 2 3 0 2 0 2 1 2 0 1 1 3 3 0 3 2 1 2 3;3 2 0 2 1 3 3 0 3 0 1 1 0 3 0 2 0 3 1 2 0 0 3 2 2 1 1 2 1 0 2 0 0 1 3 2 2 2 2 1 2 1 2 3 1;1 3 1 2 2 0 2 0 3 3 3 2 1 0 2 3 1 2 3 3 2 3 2 1 2 0 3 3 1 1 1 0 3 2 0 0 1 2 2 2 0 2 1 3 3;1 3 3 3 0 0 3 2 2 1 2 0 2 3 1 2 0 2 1 3 3 2 0 1 3 0 0 2 3 1 3 3 1 0 0 0 2 2 3 3 2 0 1 2 1;3 3 2 0 0 0 1 2 0 0 3 1 2 1 0 1 0 2 1 0 2 1 2 2 2 1 0 1 1 3 1 3 2 3 3 1 3 2 0 3 3 0 2 2 2;1 1 1 0 3 1 0 0 3 2 3 2 2 0 2 2 3 0 1 2 0 1 3 3 2 1 3 1 1 0 2 1 0 0 0 0 2 3 1 3 0 1 1 2 0;3 1 0 1 0 1 3 3 2 2 3 2 1 3 2 0 1 1 2 0 0 2 2 2 2 1 1 3 3 1 0 3 0 2 0 1 2 2 2 2 2 0 1 3 1;1 0 3 1 1 2 3 1 3 1 0 1 1 1 3 0 2 3 1 3 1 0 3 3 3 2 0 1 3 3 1 3 0 0 2 3 0 2 3 1 3 2 1 3 2;3 0 3 2 3 3 2 3 3 1 0 0 3 2 0 1 0 3 1 1 2 0 0 3 2 1 1 2 2 1 1 1 2 1 3 1 3 3 3 2 0 1 0 2 2;1 3 3 1 3 2 2 3 2 0 2 3 3 1 3 1 0 3 0 1 2 2 1 1 1 2 2 2 0 3 0 2 1 0 3 1 2 0 1 0 0 3 0 3 0;3 2 3 1 0 0 0 0 2 3 1 3 3 2 2 1 2 1 3 2 2 1 0 2 2 1 0 3 1 3 1 3 2 0 1 3 2 2 3 0 2 1 3 1 3;1 3 3 1 3 0 3 1 0 3 1 1 2 0 3 2 1 2 1 2 3 0 1 2 3 0 1 2 1 0 0 3 1 3 0 2 3 2 2 2 0 1 0 3 3;3 0 0 0 0 0 3 0 0 1 3 0 1 3 3 3 1 0 1 2 1 0 1 0 3 1 0 1 2 1 3 1 0 2 0 3 0 3 0 2 2 0 2 0 3;3 2 0 3 2 3 3 1 1 3 0 0 0 3 3 2 2 3 1 3 3 2 1 3 3 2 0 2 0 3 2 0 1 1 2 2 1 1 2 0 0 2 0 1 1;1 1 1 2 0 1 0 0 2 0 2 2 3 3 3 3 0 3 0 3 1 3 3 1 3 0 3 3 0 1 0 1 1 2 2 0 3 3 0 3 0 3 3 0 0]),[1 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 5 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 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 7 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 8 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 11 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 12 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 13 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 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;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 47 48 49 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 17 18 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 44 45 46 0 0 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 20 21 22 0 0 0 0 0 0 0 0 0 0 37 38 39 40 41 42 0 0 0 0 0 52 53 54 55 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 23 24 25 26 0 0 31 32 33 34 35 36 0 0 0 0 0 0 0 0 0 0 0 0 0 56 57 58 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 27 28 29 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 58 59 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 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 66 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 70 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 79 80 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 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 0 0 0 0 83 84 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 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 88 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 91 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 93 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 96 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 98 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 102 101 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 106 107 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 109 110]))","published":true,"deleted":false,"likes_count":14,"comments_count":0,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":"2012-02-08T22:51:09.000Z","rescore_all_solutions":false,"group_id":33,"created_at":"2012-02-08T03:01:26.000Z","updated_at":"2026-02-07T15:43:43.000Z","published_at":"2012-02-09T00:21:05.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 purpose of this problem is to give the shortest path through a maze. The maze will be provided in a codified matrix of size\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 where each element of the matrix represents a place in the grid and the value of each element is a binary-code that represents the presence of walls. That is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[                                           +   +\\n    value = 0 -\u003e 00 -\u003e no walls         -\u003e \\n                 NW                        +   + \\n\\n                                           +   +\\n    value = 1 -\u003e 01 -\u003e wall to W        -\u003e |\\n                 NW                        +   +\\n\\n                                           +---+\\n    value = 2 -\u003e 10 -\u003e wall to N        -\u003e \\n                 NW                        +   +\\n\\n                                           +---+\\n    value = 3 -\u003e 11 -\u003e walls to N and W -\u003e |\\n                                           +   +]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNote: all outer boundaries are walls. My test cases provide for this already. You do\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\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003enot\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e need to account for this.\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 path will always start at the NorthWest corner (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)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) and end at the SouthEast corner (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)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e). 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. For example,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    path = [  1   2   0   0   0   0 \\n              4   3   0   9  10   0\\n              5   6   7   8  11   0 \\n              0   0   0   0  12  13 ]]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich represents an output solution that is 13 units long. As you can see, the NorthWest corner will always be 1 and the SouthEast corner will always be the length of your path.\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\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\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\u003eExample\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\u003eInput maze:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    maze = [  3  2  2  2  3\\n              1  3  2  2  3\\n              1  3  2  3  1\\n              1  1  0  2  0\\n              1  0  2  1  1  ];]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGraphical Representation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    +---+---+---+---+---+\\n    |               |   |\\n    +   +---+---+---+---+\\n    |   |           |   |\\n    +   +---+---+---+   +\\n    |   |       |   |   |\\n    +   +   +   +---+   +\\n    |   |               |\\n    +   +   +---+   +   +\\n    |           |   |   |\\n    +---+---+---+---+---+]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSolution:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    soln = [  1   0   0   0   0\\n              2   0   0   0   0\\n              3   0   0   0   0\\n              4   7   8   9  10\\n              5   6   0   0  11 ]]]\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGraphical Representation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    +---+---+---+---+---+\\n    | 1             |   |\\n    +   +---+---+---+---+\\n    | 2 |           |   |\\n    +   +---+---+---+   +\\n    | 3 |       |   |   |\\n    +   +   +   +---+   +\\n    | 4 | 7   8   9  10 |\\n    +   +   +---+   +   +\\n    | 5   6     |   |11 |\\n    +---+---+---+---+---+]]\u003e\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:\"solving\"","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:\"solving\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"solving\"","","\"","solving","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007ffbdc1676c0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007ffbdc167620\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007ffbdc166d60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007ffbdc1679e0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007ffbdc167940\u003e":50,"#\u003cMathWorks::Search::Field:0x00007ffbdc1678a0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007ffbdc167800\u003e":"tag:\"solving\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007ffbdc167800\u003e":"tag:\"solving\""},"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:\"solving\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"solving\"","","\"","solving","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007ffbdc1676c0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007ffbdc167620\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007ffbdc166d60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007ffbdc1679e0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007ffbdc167940\u003e":50,"#\u003cMathWorks::Search::Field:0x00007ffbdc1678a0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007ffbdc167800\u003e":"tag:\"solving\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007ffbdc167800\u003e":"tag:\"solving\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":283,"difficulty_rating":"medium-hard"}]}}