{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.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-16T00: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":45240,"title":"Can the knight take out the pawn?","description":"* position of knight = k\r\n* position of pawns  = p\r\n\r\ncan the knight take out those pawns?\r\n\r\n* k='Nf4'\r\n* p={'g6','g7'}\r\n\r\nthen output should be [1,0]\r\n\r\n","description_html":"\u003cul\u003e\u003cli\u003eposition of knight = k\u003c/li\u003e\u003cli\u003eposition of pawns  = p\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ecan the knight take out those pawns?\u003c/p\u003e\u003cul\u003e\u003cli\u003ek='Nf4'\u003c/li\u003e\u003cli\u003ep={'g6','g7'}\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ethen output should be [1,0]\u003c/p\u003e","function_template":"function y = knight_move(k,p)\r\n  y = x;\r\nend","test_suite":"%%\r\nk = 'Nd5';\r\np={'c3','c4','d3','e3','f4','f5','f6','g2','a5'}\r\ny_correct =  [1     0     0     1     1     0     1     0     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n\r\n%%\r\nk = 'Ne3';\r\np={'c3','c4','d3','f4','f5','f6','g2','a5'}\r\ny_correct =  [0     1     0      0     1     0     1     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n\r\n%%\r\nk = 'Na8';\r\np={'c3','a7','a6','b6','c6','b2','f6'}\r\ny_correct = [ 0     0     0     1     0     0     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":14,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-21T22:12:27.000Z","updated_at":"2026-01-23T13:26:38.000Z","published_at":"2019-12-21T22:18:45.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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eposition of knight = k\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\u003eposition of pawns = p\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\u003ecan the knight take out those pawns?\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\u003ek='Nf4'\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\u003ep={'g6','g7'}\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\u003ethen output should be [1,0]\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\"}]}"},{"id":60541,"title":"Compute the number of squares a knight can reach after n moves","description":"Several Cody problems involve knights from chess. They have asked players to find a knight’s tour in a matrix (CP 96), determine whether points are reachable given the moves of a knight and other pieces (CP 1684), calculate the probability that a knight will remain on a chessboard after a given number of moves (CP 45389), determine the number of moves to reach a destination (CP 45433), find when a knight not allowed to revisit squares will be trapped (CP 54780), and list the squares that a knight can reach after one move (CP 57660).\r\nThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \r\nWrite a function to compute the number of squares that a knight can reach after n moves. \r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 500.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.35px; transform-origin: 407px 250.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; 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; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 98.425px 8px; transform-origin: 98.425px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSeveral Cody problems involve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknights\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 146.625px 8px; transform-origin: 146.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e from chess. They have asked players to find a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknight’s tour\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 38.5px 8px; transform-origin: 38.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a matrix (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/96\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 96\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.21667px 8px; transform-origin: 6.21667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/1684\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 1684\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 81.3px 8px; transform-origin: 81.3px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45389\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45389\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 114.733px 8px; transform-origin: 114.733px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine the number of moves to reach a destination (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45433\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45433\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 206.167px 8px; transform-origin: 206.167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/54780\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 54780\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 42px 8px; transform-origin: 42px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), and list the squares that a knight can reach after one move (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57660\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 57660\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.275px 8px; transform-origin: 4.275px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; 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; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 374.567px 8px; transform-origin: 374.567px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 277.958px 8px; transform-origin: 277.958px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute the number of squares that a knight can reach after n moves. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 284.7px; 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; perspective-origin: 384px 142.35px; text-align: left; transform-origin: 384px 142.35px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" width=\"369\" height=\"279\" style=\"vertical-align: baseline;width: 369px;height: 279px\" src=\"data:image/png;base64,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\" alt=\"Positions reachable by a knight after 1 and 2 moves\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = knightSq(n)\r\n  y = 8^n;\r\nend","test_suite":"%%\r\nassert(isequal(knightSq(0),1))\r\n\r\n%%\r\nassert(isequal(knightSq(1),8))\r\n\r\n%%\r\nassert(isequal(knightSq(2),33))\r\n\r\n%%\r\nassert(isequal(knightSq(21),3172))\r\n\r\n%%\r\nassert(isequal(knightSq(67),31692))\r\n\r\n%%\r\nassert(isequal(knightSq(212),315457))\r\n\r\n%%\r\nassert(isequal(knightSq(670),3144981))\r\n\r\n%%\r\nassert(isequal(knightSq(2118),31409941))\r\n\r\n%%\r\nassert(isequal(knightSq(6699),314163004))\r\n\r\n%%\r\nassert(isequal(knightSq(21184),3141417729))\r\n\r\n%%\r\nassert(isequal(knightSq(66992),31415764417))\r\n\r\n%%\r\nassert(isequal(knightSq(211849),314160839004))\r\n\r\n%%\r\nassert(isequal(knightSq(669924),3141589840129))\r\n\r\n%%\r\nassert(isequal(knightSq(knightSq(knightSq(5))),509156381452))\r\n\r\n%%\r\nm = randi([1001 50000]);\r\nassert(all(diff(diff(diff(arrayfun(@knightSq,m:m+randi([5 15])))))==0))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2024-06-15T15:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-15T15:27:39.000Z","updated_at":"2025-07-26T06:24:29.000Z","published_at":"2024-06-15T15:27:46.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eSeveral Cody problems involve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknights\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003e from chess. They have asked players to find a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknight’s tour\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e in a matrix (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/96\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 96\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/1684\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 1684\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45389\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45389\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine the number of moves to reach a destination (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45433\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45433\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/54780\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 54780\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), and list the squares that a knight can reach after one move (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57660\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 57660\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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 to compute the number of squares that a knight can reach after n moves. \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=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"279\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"369\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Positions reachable by a knight after 1 and 2 moves\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":45240,"title":"Can the knight take out the pawn?","description":"* position of knight = k\r\n* position of pawns  = p\r\n\r\ncan the knight take out those pawns?\r\n\r\n* k='Nf4'\r\n* p={'g6','g7'}\r\n\r\nthen output should be [1,0]\r\n\r\n","description_html":"\u003cul\u003e\u003cli\u003eposition of knight = k\u003c/li\u003e\u003cli\u003eposition of pawns  = p\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ecan the knight take out those pawns?\u003c/p\u003e\u003cul\u003e\u003cli\u003ek='Nf4'\u003c/li\u003e\u003cli\u003ep={'g6','g7'}\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ethen output should be [1,0]\u003c/p\u003e","function_template":"function y = knight_move(k,p)\r\n  y = x;\r\nend","test_suite":"%%\r\nk = 'Nd5';\r\np={'c3','c4','d3','e3','f4','f5','f6','g2','a5'}\r\ny_correct =  [1     0     0     1     1     0     1     0     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n\r\n%%\r\nk = 'Ne3';\r\np={'c3','c4','d3','f4','f5','f6','g2','a5'}\r\ny_correct =  [0     1     0      0     1     0     1     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n\r\n%%\r\nk = 'Na8';\r\np={'c3','a7','a6','b6','c6','b2','f6'}\r\ny_correct = [ 0     0     0     1     0     0     0];\r\nassert(isequal(knight_move(k,p),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":14,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-21T22:12:27.000Z","updated_at":"2026-01-23T13:26:38.000Z","published_at":"2019-12-21T22:18:45.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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eposition of knight = k\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\u003eposition of pawns = p\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\u003ecan the knight take out those pawns?\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\u003ek='Nf4'\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\u003ep={'g6','g7'}\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\u003ethen output should be [1,0]\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\"}]}"},{"id":60541,"title":"Compute the number of squares a knight can reach after n moves","description":"Several Cody problems involve knights from chess. They have asked players to find a knight’s tour in a matrix (CP 96), determine whether points are reachable given the moves of a knight and other pieces (CP 1684), calculate the probability that a knight will remain on a chessboard after a given number of moves (CP 45389), determine the number of moves to reach a destination (CP 45433), find when a knight not allowed to revisit squares will be trapped (CP 54780), and list the squares that a knight can reach after one move (CP 57660).\r\nThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \r\nWrite a function to compute the number of squares that a knight can reach after n moves. \r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 500.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.35px; transform-origin: 407px 250.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; 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; perspective-origin: 384px 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 98.425px 8px; transform-origin: 98.425px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSeveral Cody problems involve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknights\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 146.625px 8px; transform-origin: 146.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e from chess. They have asked players to find a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknight’s tour\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 38.5px 8px; transform-origin: 38.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a matrix (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/96\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 96\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.21667px 8px; transform-origin: 6.21667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/1684\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 1684\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 81.3px 8px; transform-origin: 81.3px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45389\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45389\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 114.733px 8px; transform-origin: 114.733px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine the number of moves to reach a destination (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45433\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45433\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 206.167px 8px; transform-origin: 206.167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/54780\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 54780\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 42px 8px; transform-origin: 42px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), and list the squares that a knight can reach after one move (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57660\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 57660\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.275px 8px; transform-origin: 4.275px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; 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; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 374.567px 8px; transform-origin: 374.567px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 277.958px 8px; transform-origin: 277.958px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute the number of squares that a knight can reach after n moves. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 284.7px; 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; perspective-origin: 384px 142.35px; text-align: left; transform-origin: 384px 142.35px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" width=\"369\" height=\"279\" style=\"vertical-align: baseline;width: 369px;height: 279px\" src=\"data:image/png;base64,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\" alt=\"Positions reachable by a knight after 1 and 2 moves\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = knightSq(n)\r\n  y = 8^n;\r\nend","test_suite":"%%\r\nassert(isequal(knightSq(0),1))\r\n\r\n%%\r\nassert(isequal(knightSq(1),8))\r\n\r\n%%\r\nassert(isequal(knightSq(2),33))\r\n\r\n%%\r\nassert(isequal(knightSq(21),3172))\r\n\r\n%%\r\nassert(isequal(knightSq(67),31692))\r\n\r\n%%\r\nassert(isequal(knightSq(212),315457))\r\n\r\n%%\r\nassert(isequal(knightSq(670),3144981))\r\n\r\n%%\r\nassert(isequal(knightSq(2118),31409941))\r\n\r\n%%\r\nassert(isequal(knightSq(6699),314163004))\r\n\r\n%%\r\nassert(isequal(knightSq(21184),3141417729))\r\n\r\n%%\r\nassert(isequal(knightSq(66992),31415764417))\r\n\r\n%%\r\nassert(isequal(knightSq(211849),314160839004))\r\n\r\n%%\r\nassert(isequal(knightSq(669924),3141589840129))\r\n\r\n%%\r\nassert(isequal(knightSq(knightSq(knightSq(5))),509156381452))\r\n\r\n%%\r\nm = randi([1001 50000]);\r\nassert(all(diff(diff(diff(arrayfun(@knightSq,m:m+randi([5 15])))))==0))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2024-06-15T15:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-15T15:27:39.000Z","updated_at":"2025-07-26T06:24:29.000Z","published_at":"2024-06-15T15:27:46.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eSeveral Cody problems involve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknights\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003e from chess. They have asked players to find a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknight’s tour\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e in a matrix (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/96\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 96\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/1684\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 1684\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45389\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45389\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine the number of moves to reach a destination (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45433\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45433\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/54780\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 54780\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), and list the squares that a knight can reach after one move (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57660\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 57660\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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 to compute the number of squares that a knight can reach after n moves. \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=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"279\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"369\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Positions reachable by a knight after 1 and 2 moves\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"knight\"","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:\"knight\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"knight\"","","\"","knight","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f898e22c940\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f898e22c8a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f898e22bea0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f898e22cc60\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f898e22cbc0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f898e22ca80\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f898e22c9e0\u003e":"tag:\"knight\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f898e22c9e0\u003e":"tag:\"knight\""},"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:\"knight\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"knight\"","","\"","knight","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f898e22c940\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f898e22c8a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f898e22bea0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f898e22cc60\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f898e22cbc0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f898e22ca80\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f898e22c9e0\u003e":"tag:\"knight\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f898e22c9e0\u003e":"tag:\"knight\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":45240,"difficulty_rating":"easy-medium"},{"id":60541,"difficulty_rating":"easy-medium"}]}}