{"group":{"group":{"id":1934,"name":"Chess","lockable":false,"created_at":"2020-01-11T09:26:31.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"For those who love chess","is_default":false,"created_by":363598,"badge_id":62,"featured":false,"trending":false,"solution_count_in_trending_period":4,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":5108,"published":true,"community_created":true,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"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\u003eFor those who love chess\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; 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: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 289.5px 10.5px; transform-origin: 289.5px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"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: 266.5px 10.5px; text-align: left; transform-origin: 266.5px 10.5px; white-space: pre-wrap; 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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor those who love chess\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","published_at":"2022-08-13T22:31:22.000Z"},"current_player":null},"problems":[{"id":54770,"title":"Count the peaceful queens","description":"In a 5x5 chessboard with a queen of one color (white, say) on the perimeter, one can place 12 black queens on the board such that none of the black queens can attack the white one (or vice versa). \r\nWrite a function that returns the number of queens that cannot attack a queen of the other color placed anywhere on the perimeter of an x chessboard.  \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: 328.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 164.35px; transform-origin: 407px 164.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; 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: 85.1833px 8px; transform-origin: 85.1833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn a 5x5 chessboard with a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Queen_(chess)#Placement_and_movement\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003equeen\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: 272.283px 8px; transform-origin: 272.283px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of one color (white, say) on the perimeter, one can place 12 black queens on the board such that none of the black queens can attack the white one (or vice versa). \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; 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: 372.883px 8px; transform-origin: 372.883px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that returns the number of queens that cannot attack a queen of the other color placed anywhere on the perimeter of an \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.5px 8px; transform-origin: 3.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ex\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 42.0083px 8px; transform-origin: 42.0083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e chessboard. \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 226.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 113.35px; text-align: left; transform-origin: 384px 113.35px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 764px;height: 221px\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/oAAAEmCAYAAADShevcAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAElsSURBVHhe7d0LsBX1lfj7tUEYEBUIRomJBiT4mEQ0I17FGyOjUbRUokVEM1JGjQOTKTS5EYwa1NIx6qhUMo4mgRA1FhMjSmVixWJQ4x/LvIwwMSQzIlz0CIkP4gNElIviub1Or1M0v9177+69+/Tjx/dTteus3gczfX6ze+3f+j26a90BAQAAAAAAXuhnPwEAAAAAgAco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxS6w5YDADYxXx63Fh55o//rx1Vz5BBIlu22kEFcf7Fqvr5H3HYJ+T3K9fYEXxATi4W518scnK2KPQBYBdWq9Vk21I7qKCBk0SWz7ODCho/Q2j/AvnQ/nTj/EJOLhY5uVjk5GzlunRfRyk1gVX1tcfg+Per8uL8i31V/fz1+gUAAABQfrnO6GuxwChZcRilLBajlCgj8nKxyMvFIi+jbMjJxSInF4ucnC1uxgcAAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAgc0+sFLntgfDni6/am8hN1dt/xWqRRY+HP7tesTcrhM8/ymZlV3BNLQtf+rmsmlXB+T/ydPjSvIB80f7VVOsOWNznarWabFtqBxU0cJLI8nl2UEHjZwjtXyAf2j/HdIGcZJWXtRN5/Y9EfvUnkdffsjcdRx4kcvM/ihw/zt7IAHkhVPX2107kvY8FHcjnGp//QfuLXDY1/Duy4kP7k5f9klVO3vh28JlcGBRmy0VWr7c3HSP2EvnyqSI3XGRvZCCrnPBmcB394GGRp55tPFg2ZJDIeSeKTJ9sb2SAvnKI9m9P2XJydWf0dxsm/fb/J+k/9ibZbfz/kQEnvCkDTu6W3Y57oedY36/tfYr9YwBAX5l5e/jl/NCvGxc5SmcBTpotcvqcsBOKbFS9/bVAnnZTOFPU7Py1WJkxV+SqBWEntCz4/KNsdMZ+9Hkid/y0cZGv9PN6y/0iY88v1yy/XitnXh2uPmi2ImbLVpH5QTE65ZowfyAbtL8/Klno14YeI7tN+L30P/R70m/0FVL70MSewr/nd4NH9Rzr+7v93RLp/6m7e94HAGRPixb9ok9DOwSf+ZodoCNVb38t3LVATkPP/+Lb7KBgfP5RNlqc6YCSFmFJaTGn/42uTCmaXh+aF9Kevw4A6sogdIb290vlCv2eGfyjf9NT0CfRb78Lemb6dXAAAJCdOXeFnYIoXZ58x6Uia+4Nl9/pz4VXhsuuo3SWSfcwo31Vb//5D4UzR1F6npefI/LgdeHyU/1548UiH9/X/oHRjqXu4S8Sn3+UjV4XujrGpdfUo7eGn8kNi8N46kT7ZYTOzBZJ78ehBaNr+mki8y4Lc8KT3wnjk4+yX0Z8M7gm0T7a3z+VKvR1qb7O1Ed1v9slH2z4T9m+5krZ/uxX5IOX7ul5z9X/b79nEQAgC7rkM0qLmSVBJ1M7Bb2Fmf7UDuUvg86Buzd57iKWMHei6u3vzoTruf54TnC+J4iMGhm+pz+1Q7n4+vpi+c6fWVAQPv8om7hCS4t63YPf+/kbtkcY6wCUDgBE9QygLbODAsz/uQURWlTqHvDee3MMHhzGOgCo11qUnr87+IbkaH//VKrQ19n8KC3o339ytGx/5iz54IWb5YP135ftf7qw5z0t+KNqex4h/Uaea0cAgE7ELVd+LOhQaicyjr6/YJYdGN0fuugJO0AqVW//uNl49/xc2rGM0qWlRc3q8/lH2eigkVukXz2tfoApSgcAegu4Xt9ebEEB3CJRC0n3/KJmn7NjUK3XPRW+kVvRaH//VKbQ7ynybR9+j/c39hT0jWjB3/3GzhmPWX0AyMbKtRYYnXUdOdwOGtAOgdtpWNXkRlForOrt7/7f1fMavpcdNKCz++6sfterFuSMzz/K5rmYz9IlZ1nQxJTPWmBWrbMgZ+42HnV2zPaCqE3vipxxrB2Yv/zVAqRC+/upMoW+LtuP2v7Cv1rU2PYu59/sNkxqQw6xAwBAu1asscBMnmBBCyd+2gKz+s8WIJWqt/9fXrPAuOfVyERndnLtSxbkjM8/yuZ/YwbPGq0wiTrbKfR1pUwRW0rWOteCDuq1GvxTE4+wwOj5l+mpHFVB+/upOkv3o7P5AV2m30r3a//VM/Mf1XOHfgBAR/SmPVHDhljQwrA9LTCvb7IAqVS9/d1ZQ/e8Ghk40AKz+V0LcsbnH2XjFmojhlrQwtCYz+46ZyAuD+7gQu99OloZursFEa++YQESo/39VIlCP/aO+U4B30j3e06hP+jjFgEA2uU+L3zfD1nQgtv5jFsuiNaq3v7uo5uSFiX7jbDANHtGeF/i84+ycbeBjNrHghbiZv2LeExa1wYLUoqbdV7H8vHUaH8/VaPQdx6lF3dX/Ybcf+usDAAApPPKmxa04b33LDBDBlmAxKre/p0s69y42QJTxPnz+UcZbXU+Wxu3WFARrG4pFu3vp2os3U/4zPxE/ibhWhQAQKy4m44lXar31jsWmL0TzuRih6q3f9wMUNJO5jvbLDCDnKX8eeDzjzJyZ/C3OtdKI3H78ZOuUMnSR/e2IKW4gcOkK4SwA+3vp2oU+u4++wEpZuWdf9u96SmLAADtch+psyVpp9KZkR3l/O8gmaq3v3v+SW1wZtOT7iPNGp9/lM2oj1hgNiW8oV7cfvyDnadb5OEA51pIOvi3yRk8Uwcyp5ca7e+nShT63W89Y5FJsfz+PWGpPgBk7eADLDArVlnQwv3Oc54PG2MBUql6+7sz2cv+YEELTz1rgRmznwU54/OPsjngwxaYJ1Za0IL77HTV6lGRfcG9/0bS+1csc0oEFbdqCM3R/n6q5Ix+jyTFfvBvBu7p7O93nq0PAEjPXSY6/2ELmtCO54vOc88/7zyDF8lUvf3dZaJxxYZLO57u+X/WedxeXvj8o2ziVsnc/YgFTcxdZIGZWtDDqeKWey963IIm7vuFBebkoyxAKrS/n6oxo7+lfqi8/+hvWNSY++x9Ffe/BQBIZ/pkCyK+cJ0FMfQGZuf+ix0Y7ZgeX1ChVnVVb/+px1sQcdUCC2LoPtCrfmAHRs//mE/aQc74/KNsjj40fPZ5lF4z7uBS1LSbpO4JEpd/0YKcnXB4/WDFD5fUP8oySnOGe/7nf84CpEL7+6kaM/qB7s07rw15f+9zLWpgt2GyfeQMOwh9sOE/Ez+WDwDQ2LhRIpOd2ciHfi1y+pxw5rL3Bk/aydRZpeO+Wt8hWDDLAqRW9fY/JDh/d+ZHZ/VnzN15yah2MvX9M6+uP/+rpllQAD7/KKM7L7XA6GfumJkii5bteFqEfjb1M6qfVX0/Sj/T+tkuwqZ3g+v/DDswev6aEzQHRG/69tv/2fF+lOYUzS1Ij/b3U607YHGfq9Vqsm2pHaSkj9jb7bgX7Ci0bXOX9Hvm7+sftxcU+d1H/b5u2f77T45O92g+x8BJIsvn2UEFjZ8RtFmb7V8GtH+xtP1zTBfISSd5WTuM+0yxg5SmnyZyh9MpbceunBeq3v7acTxpth2kpMuLs5h59KH9yct+6SQnKy3g3QIsCZ3Nffq78c/VT6PTnKyzxO2c/4i9RH5ydef7w3f1vjLt35my5eTqzOgHBbq7v14LeS3+d5vwe+l/6Pd6Xt0TXpABJ7xZV+R/8MLNHRX5AICdaYdQOxTucr8kFj8ZziqhfVVvf+0QLryyvfN/+LfhrFKR+PyjjBZeEQ4kpaWrT25z9usXYfbU9vZ56+zzA9yGq2O0v18qU+ir9585q2cW31Xb84ie/fj6cgv8Xt2bE97SFwCQmC7zXHOvyI0X2xsN6Gh/tCDSToHO5uoe0WZ7SNFc1dtfl3kuvl5k5ln2RgN6/vrqtWVr8N/cHs4+NdtD2tf4/KNsdABKV4skGYQ68iALzC33i4w9v35Jf56GB9eKXk9JBgHdexLoTTGnXNPejDRCtL9fKrN0P6r/2Juk3+gr7Cg5ndXf/sK/tr1Pv9PlMEXb1ZcjFY3lSCijrPJyL13O/IfnRZ5bL7IuKGDGHRgWc1oQ6e9ODToPcY/tufwckRsusoMUyAs786H9daZez13PV58NrneD1htFdQXvXXxbfGGsM5hxN8hrxYf2Jy/7JeucrFZ2iawKXiuDz+awPUWOOljk8OCzqYMCc+4KC3yXFnk6iJVWX+QEvWb0ue5dL4fnPOZjOwYp5j8U/9QLHVxbeqsdpEBfuR7tn1zZcnIlC/0euw2TfvucKfI3I6XfiKBVI/TO+h90/av0G/WN2Dvvt1vw98XFkyeSV7FIXiijvuhUNqPFzrSb60f8tVPw8gN2kAJ5IR0f2j9uD2lVOpV90f7kZb/knZOVFmrfmB+ulIl6NLim0j4Zoi9ywtDB4c3iGtHHwMUNVujKhrRP5qCvXI/2T65sOblSS/d3EhTpH7x0T0/R/v7yv9/ptf3Zr/Tsx9efH6z/vv0HO+hqgH4fvcCOAAB50dmAn98QdiC1uOm1R9CRQN/zof11Wal2IKPnXxV8/lFGuiLmhf9ob292HpoVmWrqCeE15Z7/gAEWoCO0f3VVt9BPSIv99//7VHnvHWcTX79BFgAA8qazRDqDqfsAtZN5zkT7BXJR9fbXWSKdwdeCXzuXU46zX1QEn3+UTe8g1IbF4VYSXZqty/urondv+YPXhdeUnv+BI+2X6HO0fzlVd+l+G3Qm/4OPflUG7D5Stv/pwp4VAWkUsUQxSyxHKhbLkVBGReflTpEXikX7F4u87B9ycrHIycUiJ2fL+xn9KF3mL7/8SM/z9NMW+QAAAAAAVMEuVej34nn6AAAAAABf7ZKFPgAAAAAAvqLQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxS687xqf61Wk22LbWDCho4SWT5PDuooPEzhPYvkA/tn2O6QE40LwOoLvKyX8jJQLWVKSdT6KdAoVks2r9YFPp+0rzMdVUc8lqxfGh/8rJfyMnFIicXi5ycrdwLfQDVRYfSP3Qqi0Wnslh0KlE25ORikZOLRU7OVu6FPhdPcUhexSJ5oYzIy8UiLxeLvIyyIScXi5xcLHJytrgZHwAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AIDMrVgtsujx8GfXK/YmclP19n9ipchtD4Q/X3zV3gTQtlVdIo88Hb40L1TNyuD8Fy0LX5oXqqbq7Y9qqnUHLO5ztVpNls+zgwoaP0Nk21I7qKCBk4T2L5AP7Z9jukBOssrL2om597GgA/OcyOtv2ZuOg/YXuWyqyJEH2RsZIC+Eqt7+2om//kciv/pT4/PX8775H0WOH2dvZIC8jLLJKie/GVxHP3hY5KlnGw+WDRkkct6JItMn2xsZyConbHw7yAkLg8J4ucjq9famY8ReIl8+VeSGi+yNDGSVE6re/kUhJ2eLQj8FLp6d6WxRV5C81r60Y3RSk+6okUGHbKzIuDEix3wyfD8LWba/foEseiLoXK4N/oYNQefyjyJbtobn/6lRIkcfKnLS+HJ3KItofzqU/skiL2uB9tCv7SCBk48SmR0UnMODz2unyMvVb/+Zt4vMDzrESen5L7xCZNge9kYH6FSibLLIydon+PqdYb8miY/vKzLjjPDa6lQWOUFn7M+8Ot35L5iVTZ8ti5xQ9fYvEjk5WyzdR2qawCbNFrnl/nAJVW+RqXQmRo+106adt6sW2C9KRGeODr1wR+dSl1H1JmM9f/2C0b/tpOBvnHZTOChQJlVvf/hlxtx0RabSa+7i2+wAHal6+58+J12Rr/T8P/M1OwCwE70+NC8kLTKVzjhrf0FXBhVN+zXa/0p7/vrfaP+uaFVvf/iFQh+p3HJfmMAaLa10acLT0a2yJK85d4Xnk/T89Qtn9Hnl+PJQVW9/+GX+QzsPNCldHn75OSIPXheOyuvPGy8OZyyitGOjq1LQvqq3v+ZjzVFRujz/jktF1twbzkrpz4VXhn9XlC7l1T38AHbQ+3HEDfBPP01k3mVhTnjyO2EcN3v8zeCaLJLmJZ1gcWlOe/TWMCdsWBzGUyfaLyOmXGNBQare/vAPhT4S006hFr5RulRck9XMs8JEPPnY+g6lKkPy0lkjnQWP0nPVc9aOsHYuNRm756+jslpcF63q7Q//uDOx+tn78ZygA3ZCuIVE6U/9jC6+vr5Yu/NnFqAtVW9/Nx/r+S0JOvnRPKw/tUP/y6Bz7C7LnbuofCuugCLN/7kFEVpU6h7w3ntzDB4cxtrv0WstSgttd/AtT3F9FS3qdQ9+7/WvW3Y01gFA7fdE9QxgOv2kPFW9/eEfCn0k9sMlFhjtgC0NErAmqwtOCTuX13wp7FC6I5VlSF7X3mOB0UT79HdFHrxWZNbZYcLtnUlyk6/OmhX55aGq3v7wS9xssO6RbEY/q1E6iMasfnuq3v5xy/UfC/JZo333+r779+nKJr3XCoCQ+z2vfZneAjPO7KBQ7h1U63VPQfu7e+6d5PSzrp7WfN+9DgC4f9+3F1tQgCq3P/xEoY9EdMl4dLm4ziRrQdmIdijd5PathRYUQJeIuuevM0eNOpVa8LvF8lfvtKAAVW9/+GeVcxdk/bwNDz6XzejssjurrDeURHpVb3+9EWqU5tuRw+2gAe0Qu3nNbQdgV+Vu41Fnxyxvj9r0rsgZx9qB+ctfLcjZczHX8iVnWdDElM9aYFatsyBnVW9/+IlCHy0NHVw/yjrlOAuauPAUC4zOHhW1V9xdIqqPY2l1x+bzP2eB0UK7iL36PrQ//POX1ywwJ37aghYmOrMz+tQIpFf19l+xxgIzeYIFLbh/5+o/WwDs4tY614IO6rUa/FMTj7DAaF9BHw2Xt/+NGbxs1U9TZzuFvp5/EVt6qt7+8BOFPlqKm/FpNUqp4h7ttvJ5C3IUl/BnTbWgibgbvRSx/L3q7Q8/ubMmw/a0oIWBAy0wm9+1AKlUvf31plVRw4ZY0IL7d76+yQJgF+f2dXrv09HK0N0tiHj1DQty5BbKI4Za0MLQmNyxzhkIzUPV2x9+otBHS887HTKVZJRS6RLzqCJGWeMSfpJRYuXundq42YIcVb394SeddYhK2inbb4QFRu+ejvSq3v7RrUhq3w9Z0IL7d8YtlwV2RV0bLEgprj+xroDl4+42nFH7WNBCXH+uiNWLVW9/+IlCHy25MyZu8diMO6LZbiLshNsRTHX+bqFfQKFc9faHfzpZVugOlg0ZZAESq3r7v/KmBW147z0LDJ8fIFT11S1bnWt74xYLKoLVRSgjCn201PWyBRXlLgfbY7AFbSjii6fq7Q//xM1AJO3kvLPNAjPIWUqO1qre/nE33Uu6VPWtdywweydcyQD47qN7W5BS3MBh0hVCWXJn8Lc6uaqRuAmYpCuEslT19oefKPTRkrssSpOv3iAuCXf/Z9KlWFka8zELzNsp9qS+7SyPdWf481D19oef3G0tSW1wZnOT7mPEzqre/u75b0naqXdWJBSRk4EyOsC5FpIO/m1yBs/UgQXkhVEfscBsSriCMm575sHO00XyUPX2h58o9NGSWyjr3lB9JEgrWoy6ic69EVQe3ITp7g1t5jXn/JPe8CpLVW9/+MmdSV32BwtaeOpZC8yY/SxAKlVv/4MPsMCsWGVBC/c7TyA5bIwFwC7Ovf9G0vtXLHvGgoi4VUN97YAPW2CeWGlBC3E3SW71qM6+UPX2h58o9NFS3J5w947JcfRu8W5RfdiBFuQobsYnyR5R/TcvOne8P+pgC3JU9faHn9xlikmeSKEdH/ea+qzzuDckU/X2d1cXzX/Ygia04++e/+edZ1ADu6q45d6LHregift+YYE5+SgLcha3SunuRyxoYu4iC0zcE5PyUPX2h58o9NFS3NLOR35nQRMPODMvqojlSHGPXrnjpxY0sfAxCyIOL2KgouLtDz9NPd6CiKsWWBBD9yFe9QM7MNqxi3sMJFqrevtPn2xBxBeusyCGDrye+y92YPT8j2egCOhxwuH1xfIPlzSfGNCc4U4InP85C3J29KHhs+ejNGe5g3tR026qP//Lv2hBzqre/vAThT4ScZPX4ieb3/lZf6f/JkpHKYcXsBxJ97i7Xx6afJvdQV9/544S6/knfSxf1qrc/vDTIaPqZx50VnnG3J2XLGonR98/8+r6Ds1V0yxAalVv/3HB+U92ZuMf+rXI6XPCmfve/KydfJ3VO+6r9ee/YJYFAHq29M04ww6MXjOaEzQHRPsMv/2fHe9HaU7R3FKUOy+1wOj5HzNTZNGyHSsxNTdojtBcoe9HaU7R3FIEH9of/ql1Byzuc7VaTZbPs4MKGj9DZNtSO6iggZOk7fbXZ5LqyGmUFp9z/7l+xlk7lpd9t34UduGVnSWwTtp/ZXD++t9HafH/8Lfqi2j9MtFOpXv+2nadfIH40P45pgvkpJO8rB2Xk2bbQUq6vDKLmZddOS9Xvf21w77PFDtIafppInc4RUE7Omn/MiAv+6fTvrLOErsFZBK6TfAnV3c+IdBpTtYCvp3z1z7R00Hfp9MJmU5zQtXbv2jk5Gwxo49EtEA81lniqYXkF64V+YcbRK7/Ufiack34nltkaqeyyFFKLdDd2a/V60XGni8y4RKRmbeHLz0+4Nz687/8nOJGiVXV2x9+0g6JDiC5g2VJPPzbcFYD7at6+2uHXDt07Zy/rlhKerMuYFcye2p9fycJnX2O2/KXt4VXhAN5aWm/5zZnJWYRqt7+8AuFPhL7epC84jpkWjDrkkt9uQVmryM+YUGBFlwWf/66zFVvBKWvRuc/rgQ3sat6+8NPOoC0+HqRmWfZGw3obEX0xpL69AgdXNPZj2Z7GNFc1dtfB1DX3Cty48X2RgN67tH8p51iXc2gK50a5T1gVzQ8uFb0ekoyCOhua9R+kE4YtDMjnRUdANTVOkkGAY88yAJzy/3hhI27pD9PVW9/+IWl+ymwHCZ0y33tJdFOl4pm1f5z7gq/DNLSWf1ZQbHd7rIwH9qfJaL+6Yu8rDPF64LiS5dm67OR9W7EeqMifRLExbfFF2Y6gxN3g7ZWyMv1qtz+es5/eF7kufXh36CDrDqYoQMC+rtTg85z9B4EvTQ/33CRHaTAMlGUTV/kZL1m9HG7XS+HfRh9bG9vkTz/obDAdOng2tJb7SCFvsjJuv1StzCuDHKDPuZYn4CkN0fWv6VRn06LbB1ETKsvckLV2z9P5ORsUeinwMWzg+4NfXR52PFascbeNPpc5skTRO59LH5UUm+WcslZ6fchZdn+ug9fZ8C1I/lM8MWhCVg7w/rzyLFhhzeuoB4ySOS8E8MOZdqC34f2p0PpnyLyctweRjo1+aly+2vOm3Zz/Pm//IAdpECnEmXTFzl56ODwZnGN6GPg4oplnVlP+2SOInKyFsrfmB+uVIp6NMhpaZ/M0Rc5wff2zxI5OVss3UdbtEicekJYEM+7bOeXzhrrDMydl4RFpUsLbC1SizRyeDiDpQX7z28Q+c2/7/ipiVVnj3TZlbtPTL9E9AtlwRJ7oyBVb3/s2nRZo15nWpwhf1Vufx1g1VytHfjo+e8RdKQBxGtWZCrtT+g15e4tHzDAgpLTvtoL/9He3vg8+N7+KC8KffQZTWzXfCksPnUmPEpnZapAO8Nuh1Jt3GxBifnQ/vCXzlLoDLJeY9q5mXKc/QK5qHr76yydzuD3DsieM9F+AaAtOoGgg4APXhdeU7q0/EDnqT5l1jsIuGFxuJVHz1+X91dF1dsf5UShjz6nyeqJfwsTV2/BnHbZe5G0Q/ns3WEC7i2YdX9VVVS9/eE3LTj12mpnfzg6V/X213uP6GBFO/vzAdTTR/b2rhZMu8WvDLR/o/lAV2hWsa9T9fZHuVDoIzeauHQGSWfIdZlSleiXxayzRd78WXhzlwtPtl9USJXbHwAAAEByFPrIXdVHKFs9LqXsGCEGAAAA/EahDwAAAACARyj0AQAAAADwCIU+AAAAAAAeodAHAAAAAMAjFPoAAAAAAHiEQh8AAAAAAI/UugMW97larSbL59lBBY2fIbJtqR1U0MBJQvsXyIf2zzFdICealwFUF3nZL+RkoNrKlJMp9FOg0CwW7V8sCn0/aV7muioOea1YPrQ/edkv5ORikZOLRU7OVu6FPoDqokPpHzqVxaJTWSw6lSgbcnKxyMnFIidnK/dCv+r/z1tzr8imd+2NiiF5FYvkhTKiU1ks8nKxyMsoG3JyscjJxSInZ4ub8aVU1SIfAAAAALBroNAHAAAAAMAjFPoAAAAAAHiEQh8AAAAAAI9Q6AMAAAAA4BEKfQAAAAAAPEKhDwAAAACARyj0AQAAAADwCIU+AAAAAAAeodAHAAAAAMAjFPoAgMw9sVLktgfCny++am8iN7R/sWh/ACiP2pBDpN/Ic3tetb1PsXf9R6EPAOjYyi6RL1wn8pGzRQZOEjlptshVC8KfY88P35twSVj4IHu0f7FofwAokd2GSf+Dvy27Tfi9DDi5W3b7v5+V/uPu63nt9ndLet4bcMKb0m/0FfYf+KnWHbC4z9VqNdm21A4qSL+ol8+zgw69+ZbIo8tFul4VWfuSyIrV4fsj9hIZNVLkyLHBz4+InHxU+H4Wxs8Q2j9i0ePN23/cGJFjPhm+n4Us23/j28H5PxF0LtcGf8MGkV/9UWTL1vD8PzVK5OhDgw7meJHjx9l/kAFt/xzTBXKSRV6eebvI/IftIAHNawuD79Zhe9gbHcg6L+Qti7xA+7fPh/YnL/uFvnKx6CsXK4v21xn73YKCXov9JLrf7ZLtz35Ful/7L3unfWXLyczoF0CLynP/ReSW+4NibdmOIlO9/lZ4rJ0GnQ3Qlw4KIDvavpNmt25/7bxp+5eNzhwdeuGOzuUjT4dFvtLz1xkj/dt0JmnaTeGgANBXTp+TrshR+pn9zNfsAB2h/YtF+wNAeejSfJ2xT1rkq9rgUT3/jS7v9w2Ffs5uuU9kxtywIEtCOwRasK0Kijt0rp3219HFsrT/nLvC80l6/jqQMfq8cHAAyJp+HvUaiTryIJE7LhVZc284Kq8/F14pctD+9g/M6vXhHma0j/YvFu0PAOWhhbouzXdtX3OlvP/fp8p7j9R6Xu8/NUE+eOke++0O/XWAwDMU+jnSpeJaeEXpUmtdxjfzLJHLzwnjj+9rv4y4fqEFaFuS9p98bHz7fzPo0BVNZ410pj5Kz1XP+caLw87l9NPqz19n+3VwA8ia+3nUYmbJTTt/DvXn1Ikiv/xO/VaSuYtYcdIJ2r9YtD8AlEe/0d+waIeeov6Fm3dalt+96bey/U8X9gwAROnMvq4I8AmFfo5+6AwUaQdg6a1hkXbBKUFn4IQwXnx9WHxG6ei/O3OAdJK0/zVfim9/vWty0e1/rTP4qDNHT39X5MFrRWadHXYue2eSNI7S7QjuIAfQibjlyo8F11Ojfcf6/oJZdmB0ZYreawLp0f7Fov0BoFz67XeBRSEt5LWob6RnAGDzM3YUihssqDIK/ZzokvHocmudSdaCshEtPrWQi/oWs/ptq3r76xJR9/x15qhRp1ILfnew4qt3WgBkQG8EGaWft5HD7aABHVxzr6tV6y1AKrR/sWh/ACiP2tBjLNrhg/Xft6ixD/68850LdVbfJxT6OXFnU6ccZ0ETFzqPedQl2OzVT2/o4Oq3v7tE9MunNi7ye53/OQuMDhSwVx9ZWbHGAjN5ggUtnPhpC8zqP1uAVGj/YtH+AFAeboHeM1P//kY7aqz7DadASHETvyqg0M9B3F3zz55oQRNxj3Zb+bwFSEwfoeeqUvvH7eGcNdWCJnRfqIvtH8hK1ysWmGFDLGhh2J4WmNc3WYBUaP9i0f4AUB61PQ+3KKSPzEuie8sqi3aIWx1QVRT6OXj1DQsihu9lQRM6E61LtKO4cU96zzsdMpWk/VUZ2n/daxZEtJrN76VLRaM2brYA6FB0K4na90MWtDBiqAUm+nhLJEf7F4v2B4AScR+Nl2A2vxGflu9T6Odg3V8tMG7x2Mimd0VGjbQD07XBAiTmzpgkbX9VhvZ3O4Kpzt8t9BkoQgZeedOCNrz3ngVmyCALkBjtXyzaHwDKpeYuud++1YL0ujsYJCgbCv0cdL1sAQpR9fZf6+zh3GOwBW3YuMUCoANxNx2LW7kU5613LDB7OzOcaI32LxbtDwDlUnd3/b9xZuoa8WxPvotCPwfuMuut2yxI4DVnNnrUPhYgsbj2120RSWx+1wJTRPuP+ZgF5m3nnJp52xnQdGf4gXa520K2JMxr7vYRPpPtof2LRfsDQHl0v79zwVQ3w99AbUD9v+ve2PiRfFVDoZ8Dt1DTu7cnocWoW9QNHGgBEotrf90W0Yq2v7vsv4j2P9AZlHT3hjbjDhS5N4IC2nXwARaYFfX3s4l1v3OD28PGWIBUaP9i0f4AUCLOzfdqH0pw1+1AbeS5FkWwdB9pxO2pjrsTv0vvFu8WdYcdaAESi2t/947JccrS/nEzPkn2iOq/edF54sBRB1sAdMhd3TL/YQuaeGJl/Wfy88dagFRo/2LR/gBQHnF32e8XV8Q7+o/+hkWhJM/erxIK/Ry4N3RTP0jQKXjAGflX7uwuWotr/0d+Z0ETZWn/oTGPbbrjpxY0sfAxCyIOZ6AIGZk+2YKIL1xnQQwdeDr3X+zA6PLn48fZAVKh/YtF+wNAeege/Z5n50f0/9vvNb2Dfv9Dv1e3R/+Dl35kkR8o9HPi7uf7xX9b0IDO+C9+0g7MyUclfywcdua2v7Zts1UVZWp/vcfAQfvbgfnhkuZ30NffzV1kB0bPP+lj+YBWxgXfnZOd2ciHfi1y+pxw5rL386kzmHc/InLcV+tXyCyYZQFSo/2LRfsDQLlsX3OlRSYo4ruP/I3U9j5lp4Jfj/sf8VPpt/8/2TuhD175Sf1N/SqOQj8n37rIAqNf+FOuEVlVv9KkZ1n5xbfVdwrO/5wFSC2u/bWN45bwl7H9fxx0HqP03D7ztfploEpnjo765/rzv/FiC4CMLLjMgohHnhY5abbIPlNEBk4SGXu+yIy59Z/V6acxm9kp2r9YtD8AlEf3a/8lH2z4TzsKDdh9pOz2d0tkt+NekAEnd/e89LjfPmfavwi9984rsn3lF+3IHxT6OTlklMixn7QDo1/8024S+YcbRK5aIHL9j8Li/wvX1ncKpk4M/zfQnkbtr22t7a9tX+b219kjnZGPWr0+7EROuERk5u3hS48POLf+/C8/J/zfALKkK0SWz6tfMZOErpjRmU+0j/YvFu0PAOWy/Zmzembm09IBgf5jg6LMMxT6Ofr61PgOgRZsOgugy/7cAq3XEZ+wAG1r1v7a9mVvf509ijv/FavDG0Hpq9H5j2NvPvqIDiCtubf1ihG9KWb086srTnTmUwc7G31u0RrtXyzaHwDKRWfm339ytGzbHLNsOsLd099v9BXSPeGFRDfxq4pad8DiPler1WTbUjuoIF2Gp6P3nbrlPpFFMTd6a0VnlS85U2RwwmfAu8bPENo/0En7X97Bqp6s2n/OXcHfcL8dpKCz+rOmtr9PX9s/x3SBnGSdl3Vv8h+eF3luvci6oIDRQSZdDaMFkf7u1CvDwSmXfj5vcLbYJJFVXihK1nmZ9k/Hh/YnL/uFvnKx6CsXqy/avzb0GJEBw6Tf8OOle8tz0r3tlZ5l/kqL+7iZfB0kqP1mtB0lV7acTKGfQpYXj97s7dHl4Rf/ijX2phmzn8jkCSL3PhbO9Lu04PzH09LfGI7ktUMn7a83YLrkrGLbX/fh6woE7Ug+E3Qq9Xn/I4aGP48cG94ROm5AY8ggkfNODDuUaQv+siUvZCPvvKzX3LSb668tnfF8+QE7SIFOTTq0/858aH/ysl/oKxeLvnKximj/fvtdIP0P+XbdHfjff2pC6pvzlS0nU+inkPfFM3SwyGXfDws6l47+Tz3BDhIieaXjQ/vrvv245zvrMtNZZ9tBQmVLXshGUXlZ9yfr48Z6bxqpy5p1CXRadGraQ/uHfGh/8rJf6CsXi75ysQpr/6DI7/+pu3e6SZ8PhT579Ets07si13xJ5I5Lw9H+KJ0VQN/qbf95l4Uz4VFVaX/97Dx6a8znZ7MFQEH0juM6g7nwyvAO5OdMtF8gF7R/sWh/ACiR9zf23MjvvceHywcv3CzdbyyT7i2r7JfVRaFfAcd8UuQnV4vMPGtHwdnuPmukd+RBIk/8W9gZ6y2Yq9T+2qF89u5wFr/38zPmY+FPoGi6FUkHpNrZn4zO0f7Fov0BoES04F9zpby//O974qqj0K8I3Q9+wSlhwakztGmXjaNzuu99adD2VWx/HZjQpfpv/ixcHnrhyfYLAAAAAN6h0K+gtDeBQ7aq3v7RRzwBAAAA8A+FPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxS6w5Y3OdqtZpsW2oHFTRwksjyeXZQQeNnCO1fIB/aP8d0gZxoXgZQXeRlv5CTgWorU06m0E+BQrNYtH+xKPT9pHmZ66o45LVi+dD+5GW/kJOLRU4uFjk5W7kX+gCqiw6lf+hUFotOZbHoVKJsyMnFIicXi5ycrdwLfS6e4pC8ikXyQhmRl4tFXi4WeRllQ04uFjm5WOTkbHEzPgAAAAAAPEKhDwAAAACARyj0AQAAAADwCIU+AAAAAAAeodAHAAAAAMAjFPoAAAAAAHiEQh8AAAAAAI9Q6AMAAAAA4BEKfQAAAAAAPEKhDwAAAACARyj0AQBAqTyxUuS2B8KfL75qb1bIitUiix4Pf3a9Ym8CBVrVJfLI0+FLP5dVszI4/0XLwpfmhaqpevujmmrdAYv7XK1Wk+Xz7KCCxs8Q2bbUDipo4CSh/QvkQ/vnmC6QE/JyscjLIe3EX/8jkV/9SeT1t+xNx5EHidz8jyLHj7M3MpBV+2sn/t7Hgg78c43P/6D9RS6bGv4dWSEv+yernPxm8Dn8wcMiTz3beLBsyCCR804UmT7Z3shAVjlh49tBTlgYFMbLRVavtzcdI/YS+fKpIjdcZG9kIKucUPX2Lwp95WxR6KeQ5cWjCWzRE0HnZq1I14agc/NHkS1bw6T1qVEiRx8qctL4cnZoeulsRVeQvNa+tGN0Us9/1MigIzNWZNwYkWM+Gb6fBZLXzopofzqU/iEvF8uHTk2n7T/zdpH5QYc4qZOPEll4hciwPeyNDmTR/jpA8dCv7SABPf/ZQcE/PMjXnSIv+yeLnKx9gq/fGfYrk/j4viIzzgg/m53KIifojP2ZV6c7/wWzsukzZ5ETqt7+RfLhO7FMOZml+wXQmYtDL9zRudFlPL3JQGcCNMHdcn9Q6M8WmXZTOChQJprAJgXnpueoS6h6i0yl56/H+nfp33fVAvsFMkP7A/DF6XPSFflKvzM/8zU7KNiMuemKfKXnf/FtdgBkTD9f+rlMWmQqnXHW/oKuTCma9mu0/5v2/PW/0f510are/vALhX7O5twVjvY0Wtrn0oQ3+rxyJC91y31hAkt6/prw9O8leWWD9gfgC/0+1BwVpcva77hUZM294ayU/lx4ZbjsPUqX8uoe/iLNf2jngVal53n5OSIPXhfOSunPGy8OZ+yitGOvq7KALOn9IOIG+KefJjLvsvAz+eR3wjhu9vibwTVZJL0udILLpdfUo7eGOWHD4jCeOtF+GTHlGgsKUvX2h38o9HOksxY6CxulX/6Tjw07Atq50WTgdgh0VFCLu6Jpp0QHHqJ0qbgmq5lnhYlY/xb3/BXJq3O0PwCfuN+HWiQvCTr50e9B/akd+l8GnWN3We7cRcWueHNXIui5/nhOcL4nhFuolP7UHL34+vrBijt/ZgGQkfk/tyBCi0rdA957b4jBg8NY+516rUVpoe0OvuUprq+iRb3uwe+9/nXLjsY6AKj9nqieATSnn5Snqrc//EOhn6Nr77HA6IX+9HdFHrxWZNbZ4QXfO5PhXvw6a1Bk8lI/XGKB0U7N0iABa7K64JSwc3PNl8IOjTtSSfLqHO0PwBdxy/UfC/JZo333+r7uwY3SlU16r5sixM3Gu+fn0lwdpYP4zOojS+73vPYlewvMOLODQrl3UK3XPQXt7+65d5XTz716WvN99zoA4P59315sQQGq3P7wE4V+TnSJYnS5tc7E6sxFo06NFvxusfbVOy0ogC4Zd89fC8pGtEPjJrdvLbQAqdH+AHyiN6KN0u+7kcPtoAHtELt5bVWDu3H3Nff/rp7X8CAvN6Oz++6svt5QFciCu41EnR2zvD1q07siZxxrB+Yvf7UgZ8/FXMuXnGVBE1M+a4FZtc6CnFW9/eEnCv2cuEsU9XEgre4YfP7nLDBa6BWxV3/o4PpR1inHWdDEhadYYHT2gr3i6dH+AHyzYo0FZvIEC1o48dMWmNV/tiBnf3nNAuOeVyMTndlJfWoKkIW1zrWgg0qtBp/UxCMsMNpX0EfD5e1/YwbPWvWT1dlOoa/nX8SWnqq3P/xEoZ+DuIQza6oFTcTdaKSI5ddxMw6tRilV3KPdVj5vARKj/QH4Rm9aFTVsiAUtDNvTAvP6Jgty5s4auufVyMCBFpjN71oAdMjta/beJ6KVobtbEPHqGxbkyC2URwy1oIWhMbljnTMQl4eqtz/8RKGfg7iEk2SUUrl7dzZutiBHzzsdMpVklFLpEvOoIkZZq472B+Cb6FYkte+HLGjB7fzHLZfNg866RSUtSvYbYYHRpwcAWejaYEFKcf2JdQUsH3e3w4zax4IW4vrTRaxerHr7w08U+jlwOyJu8dXMKLfQL6BQc2dMUp2/M6LZbiLcldH+AHzyypsWtOG99ywwQwZZkKNOltW6g/VFnD/8VNTqlqxsda7tjVssqIiqtz/8RKGfA3c50h6DLWhDEYmv62ULUAjaH4BP4m66l3Sp6lvvWGD2TjiTnqW4Gbiknfx3tllgBjlL+YF2fXRvC1KKG7hKukIlS+4M/lbnWmkkbgIs6QqhLFW9/eEnCv0cjPmYBebtFHvy3naWB7oz/Hlwl0Vp8tUbxCXh7j9MuhQLO9D+AHzjbkvbkrRT78yIF/GdqNzzT2qDs5oh6T5eoJUDnM9k0sGnTc7gmTqwgM/lqI9YYDYlXMEatz32YOfpFnmoevvDTxT6OXAvWHdvYjOvOYki6Q1/suQOVOjeRH0kSCtajLqJzr0REVqj/QH45uADLDArVlnQwv3OE0gOG2NBztyVBMv+YEELTz1rgRmznwVAh9z7PyS9f8WyZyyIiFu10tcO+LAF5omVFrQQd5PqVo/q7AtVb3/4iUI/B3EzDkn2KOq/edG54/pRB1uQo7g94e4dk+Po3eLdQY3DDrQAidH+AHzjri6a/7AFTWjH3/1O/LzzDOq8uMt0kzwRRzv+7vl/1nncHtCuuOXeix63oIn7fmGBOfkoC3IWt0rm7kcsaGLuIgtM3BOr8lD19oefKPRzEPfojzt+akETCx+zIOLwAgq1uKWFj/zOgiYecGZeFMuR0qP9Afhm+mQLIr5wnQUxdOD73H+xA6OFwfEFFcpTj7cg4qoFFsTQfbhX/cAOjJ5/3GNQgXaccHh9sfzDJc0nBvQz604InP85C3J29KHhs+ej9JpxB8eipt1Uf/6Xf9GCnFW9/eEnCv0c6B5rN3npxd/sDvr6O3eUUkf5kj6WL2tu8lr8ZPM7D+vv9N9E6fkPZzlSW2h/AD4ZN0pksjMb/9CvRU6fE87c934/aidfZ/WO+2p9h3jBLAsKcEhw/u7Mm87qz5i785Jd7eTr+2deXX/+V02zAMiAbumbcYYdGP3M6WdSP4PRPsNv/2fH+1H6mdbPdlHuvNQCo+d/zEyRRct2rITV3KA5QnOFvh+lOUVzSxF8aH/4p9YdsLjP1Wo1WT7PDipo/AyRbUvtIKWVXeF/H6XF/8Pfqi/iNJlpp8YdxdS26ySBDZwU/m+0Q59JqiOnUXrec/+5fsZZOzaXfbf+/Bde2VkC66T9y8CH9s8xXSAnu3JeLoNO8kIZdNL+2mHfZ4odpDT9NJE7nKKgHZ20v3bcT5ptBynp8uIsZh7Jy/7pNCfrLLFbQCah2wR/cnXnEwKd5mQt4Ns5f+0TPR30fTqdEOs0J1e9/Yvmw3dimXIyM/o50QLdHf1fvV5k7PkiEy4RmXl7+NLjA86tL9IuP6e4UUqlBeKxzhJDPccvXCvyDzeIXP+j8DXlmvA99/y1U8MoZftofwC+0Q65dujcwe4kdMVS0pt19RXtkOsAajvn//Bvw1k9IGuzp9b3N5PQ2ee4LX95W3hFOJCXlvZ7bnNWwhah6u0Pv1Do52jBZfEdAl3mpzci0pdboPUaV4KbqH09SF5x568DFrrkUl+Nzv+IT1iAttH+AHyjA9hr7hW58WJ7owGd7YrmP+0U62y6rnRqlPfyoAOoi68XmXmWvdGAnn/0xqr69BQd3NfZv2Z7eIG0hgefM72ekgxCudtKtR+qEwbtzEhnRQcAdbVOkkHAIw+ywNxyfzhh5i7pz1PV2x9+Yel+Clkth5lzV5iM0tJZ/VlBsdfusqSslsPccl97SbTTpYosRwoV2f4sEfUPeblYPixTzLL9dTn/H54XeW69yLqggNdBbi2mdUBAf3dq0HmOe2yVfj/ecJEdpNAX7a8z9Xruer76bHC9G7feqEufhHLxbfEDEzqDGXeDwlbIy/7pi5ys14w+brfr5bAPqY/t7S2S5z8UFpguHZhaeqsdpNAXOVm3v+oWxpVBbtDHTOsTqPTm1Pq3NOpTa5Gtg4hp9UVOqHr758mH78Qy5WQK/RSyvHh0H77OwGpn4JkgcWkC0M6A/jxybPiFH1fQDRkkct6JYYcmbcGf5cWjexMfXR52ZFassTeNPhd48gSRex+LH5XUm6Vcclb6fUgkrx2Kan86lP4hLxfLh05Nnu2vOW/azfW5TTvFLz9gBykU0f5xe3g76dSTl/3SFzl56ODwZnGN6GPg4oplnVlP+2SIInKyFsrfmB+ulIl6NLim0j6Zoy9ygu/tnyUfvhPLlJNZul+QkcPDEXwt2H9+g8hv/n3HT72wdfZCl/24+5Q0iWlCW7DE3iiIFolTTwgHJOZdtvNLZ411BubOS8Ki0qUDHFqkon20P4BdkQ5w63elduCjS+H3CDrSVaHLevV7Pnr+QF9qVmQq7U/oNeXuLR8wwIKS077yC//R3t74PPje/igvCv2S086A26FRGzdbUGKa2K75Ulh86kqEKJ2VQd+i/QH4SmfpdAa/d0D8nIn2i4rQWTqdwdfveO3cTznOfgEURCcQdBDqwevCa0qXlh/oPNWnzHoHATcsDrfy6Pnr8v6qqHr7o5wo9CtAOzTP3h0mgN6CTff3VIUmqyf+LUxcvQMWabcdoH20PwBf6b1HtFhuZ39+GWjBr9/t7ezPB/qCPrK3d7Vg2i1+ZaD9G80HukK2in2dqrc/yoVCvyI0Wc06W+TNn4U3F7nwZPtFhWji0hkMXaGgy5SQL9ofAAAA2DVQ6FdQq8d1lB0jlMWi/QEAAAC/UegDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAI7XugMV9rlaryfJ5dlBB42eIbFtqBxU0cJLQ/gXyof1zTBfIieZlANVFXvYLORmotjLlZAr9FCg0i0X7F4tC30+al6t+Xa25V2TTu/ZGxZDXiuVD+5OX/eJDTiYnFIf2L1bZcnLuhT6A6qJD6R86lcWiU1ksOpUoG3JyscjJxSInZyv3Qp+Lpzgkr2KRvFBG5OVikZeLRV5G2ZCTi0VOLhY5OVvcjA8AAAAAAI9Q6AMAAAAA4BEKfQAAAAAAPEKhDwAAAACARyj0AQAAAADwCIU+AAAAAAAeodAHAAAAAMAjFPoAAAAAAHiEQh8AAAAAAI9Q6AMAAAAA4BEKfQAAHHvtf4p8+G//qefnwD1H2bsAUE0ru0QWLQtfT6y0NytkVXD+jzwdvlastjeRG9q/mmrdAYv7XK1Wk21L7aCCBk4SWT7PDipo/Ayh/QvkQ/vnmC6QE/JyaPcRR8i+R3xD9tjnmIaF/TuvPyN/+d2V8tb6/7J3OkdeLhZ5GWWTVU7e+LbI9QuDwmy5yOr19qZjxF4iXz5V5IaL7I0MZJUT3nxL5AcPizz1rMiLr9qbjiGDRM47UWT6ZHsjA+TkEO3fnrLlZAr9FLLu0Cx6XKQruHjWvrRjdEyT7qiRIkeOFRk3RuSYT4bvZyHLi0e/QBY9IbJybfA3bBD51R9FtmwNz/9TQR/56ENFThovcvw4+w8yQPsXq2zJC9kgLwfX/MS7ZcRBF9hRa2+s/Ymse/Irsn3bRnunfXQqi0VeRtlkkZN1xv7Mq8N+WRIf31dkwaxs+mxZ5ATtk339znTnP+MMkZOPsjc6QE6m/TtRtpzM0v0C6AU0abbILfeHS6h6i0z1+lvh8fyHRWbeLnLVAvtFiejyr0MvDM9Pz1OX8fQmAz1//YLRv+2k4G+cdlM4KFAmVW9/ANkZe+qSVEW++tCYc+WQM39jRwBQHtqv0f5X0iJN6Yyt/jfavyua9ilnzE1//tpf0+Xl6Azt7xcK/Zzdcl94AWlBmYRecDq6VZaLZ85d4fkkPX/9whl9Xjm+PFTV2x9AdkYecUXPHvwoXZ7ftexC+eN9o2XF/FrPzxd+8cWe96MGDTukZw8/AJSFFlw6weK6/ByRR28NZ0o3LA7jqRPtlxFTrrGgIF2vxE+wTD9NZN5l4Uz1k98J47jZ428GfVS0j/b3D4V+jnSpuBa+UbpUXC+WmWeFiXjyseESGFcZLh6d5dZZ8Cg9Vz3nGy8WuePSMBm456+jglpcF63q7Q8gWx/9v3buEWsx/+ziT8vrq++RbZvD0T39qUv19X232D/gmJgeNQAUJK6vokW97sHvXZY/bI8wXnhl2O+J0oECt5+Up/k/tyBCi0rdA37kQeHx4MFhrP1O7XNG6fnrBA3aQ/v7h0I/Rz9cYoHRgnJpkID1YrngFJGpJ4hc8yWRxdfXj5SV4eK59h4LjF7oT39X5MFrRWadHV7wWuyvubf+4tfl8EV+eaiqtz+A7MQt11/7yFkWxav7/W7DUi/7B4C+0HPvJKefdfW05vvudQCgt4Dr9e3FFhTA7WdpX9I9v6jZ59RPztxT4f3dRaP9/UOhnxNdMh5dLq4zyVpQNqLFp3txfWuhBQXQJfvu+S+5KRwZjqMFv1ssf/VOCwpQ9fYHkK099zveopDeSb93Fr8R/b07qz9kn6MtAoDiPBdzZ/1Lmo9d9pjyWQvMqnUW5Cx6v6ReZ8dsL4ja9K7IGcfagfnLXy1AKrS/nyj0czB0cP0o65TjLGjiwp23jvYsgS9qr7i7ZF8fx9KoyO91/ucsMFpoF7FX34f2B5CtAYNHWhR6Y62T5Bp40/l3/f9mmEUAUJz/dQp9naxo1U9TZzuFvvZ1iriJ8to/W2AO2l9k+F520MTEIywwev76aDikQ/v7iUI/B/oIN1erUTIV92i3lc9bkKO4hD9rqgVNxN3opYjl71VvfwDZGzxi595J9/agd9IGvSkfABTNLdRGDLWghaFDLIhY95oFOXL7mvqo4ySG7m5BxKtvWIDEaH8/Uejn4PlXLIhIMkqmdIl5VBGjrHEJP8kosXL37mzcbEGOqt7+ALI3YPedezFbN66yqDl3ef/uzoABABRhlTOjP2ofC1qI688VsXqxa4MFKcX159axfDw12t9PFPo5eH2TBcYtHptxR9TavRA74e7bSXX+bqFfQKFc9fYHkK3+A+uX2yddgl/rP8ii0HvvxIwkAkDOtr5ngdm4xYKKcPtqyBft7ycK/Rx0vWxBRbnLwfYYbEEbivjiqXr7A8jW9m0bLdrB3bPfiDsgEPe/BQB5c2fwt26zoIW4CZh9P2RBjj66twUpxe0HT7ptATvQ/n6i0M+BuyxKk6/eIC6Jze9aYJIuxcrSmI9ZYN52zqmZt51tr+4Mfx6q3v4Aspd0qb5rwOCdk5gW+tx4CEDRRn3EArMp4QrKuO2ZB+9vQY4OcPqHSWeYN71jQcSBCfeXYwfa308U+jlwC2W9I6U+kqIVLUbdC23gQAty5F6w0cfUtfKac/7D9rQgR1VvfwDZc/faDx31eYsa2xx0aIaNOtOOQptfWpb4nh8A0FcO+LAF5omVFrQQd5PkkcMtyNF+IywwcY97i7Ns5yee9iAnp0f7+4lCPwdxe8K7Emzr1LvFu0X1YQdakKO4WfhX3rSgCf03Lzp3vD/qYAtyVPX2B5C9/88p9D805lyLGtvvExPr7rL/1p+XWgQAxXFvfqzufsSCJuYussDEPTEpD3HLvRc9bkET9/3CAnPyURYgFdrfTxT6OYh7RMUjv7OgiQecZ7+rIpbDxD165Y6fWtDEwscsiDi8iIGKirc/gOy98od/tWiHAz7zPYvqDdxzVN3vdfm/zugDQNGOPjR89nnUVT+on3CJmnZT/YTG5V+0IGcnHF4/WPHDJc0nZq5aUH/+53/OAqRC+/uJQj8n7sWz+Mn4G1j00t/pv4nSUbIilsPoHnf3y0Mv/mZ30NffuaPEev5JH8uXtSq3P4Ds6dL9N9b+xI5CH/7bf5Kxpy7Z6ZF5WuDrbP8hn/9N3Wz+ul9+xSIAKN6dl1pgtAg7ZqbIomU7VmJq/0yX9Z8+J3w/avKxIuNG2UHOdEvljDPswOj5z5gbbi+I9tl++z873o/SftohBZ1/1dH+fqLQz8m3LrLA6MVz8W3xI2X6nv6uTKNkPw6+EKL03D7ztfiRYv0yOeqf68//xostKEDV2x9A9tY9WV+o77X/KXLolN/LkdO7e16HffEFGX3ifXXP3X/lmZuZzQdQKsePC4utKO3L6Mz9AeeKDJwkss8UkZNm1xdpOiGy4DI7KIiee9z568yxnvP4GeFr5u3xj36ePdUO0Bba3z8U+jnREa5jP2kHRovkL1wr8g83iFz/o/A15ZrwPbeA1j1TRY6S6Qive/GvXi8y9nyRCZeEF72+9Fi/TNzzv/yc4kaJVdXbH0D2Xnttozy7+NNt3YF/xEEXyJ77FbSZFQAaWHiFyPTT7CAF7ffc5qzELIIWi25/MwktSOO2XCId2t8vFPo5+npw8bhLyJUWzA/9Ony5BWavIz5hQYF0pDfu/HVUb/7D4avR+Y8rwU3sqt7+ALKlW3Heef0ZWf6jQ2X9b/4fezfee++8stOAgM7wH3T6/+mZ7dfl/QBQBrpF8o5LRZbPi+/zRB15kAXmlvvDCRt3SX+eNC/rCtCFV7Y+f3dbqfZDdcLGXa2A5Gh/v9S6Axb3uVqtJtsqfINiXfKkibNTt9zXXhLVWeVObpKiy22yaP85d4VfBmnprP6soNhud58+7V8sbf8c0wVyQl7eQfcgaidHZ+oH7jFKBg07WN59/Q89Bf6r65+RYcOGySFn1u/VV3/53ZU9y/nT8iEvZNX+RSAvo2z6Iiev7BJZFbxWPh/0wfYMn4CkN0fW/lijPp0WeWvutYMU+iIn6ISSPu646+XwnPWxyb2DFPMfCgtMly4lX3qrHaRATq5H+ydXtpxMoZ9ClhePdigfXR7eFGXFGnvTjNlPZPIEkXsfix8V05ulXHJW+hvDZXnx6D58nQFf96rIM8EXhyYAfTSH/jxyrMj0yfEF9ZBBIuedKHLDRekLftq/WGVLXsgGebmx3sLfpbP47uP4dMZ/5cKP2FFydCqLRV5G2RSRk7VQ+8Z8kS1b7Q3zaFCo6b7/NPoiJwwdHN4srhF9DFzcYIWubDjG2bbZCjm5Hu2fXNlyMoV+Cnl3aPTCuuz7YUHt0tnxqSfYQUJFXDy6bz9upE+XBc062w4Sov2LVbbkhWyQl9ujs/6jT9hxkz6d9f/tPYfKnrv3HCZGp7JY5GWUTVE5WSc+pt288wRHWQr9JHRg9tZFO5//vMvqtye0Qk5uD+0fKltOZo9+ieno2TVfCi8UnQmP0oRcBTqap18UuoQnauNmC0rMh/YH0Df0jvu/mv8RWf3zv5fXV98jG7v+M3WRDwBloassf36DyIbF4WSGFmi6vL8qdPWVTiI9eF14M0I9/wN3flgK+hDtX04U+hWgF8sT/xZeOL0Fc9pl70XS0eBn7w4TQG/BrPt7qqLq7Q+gb2hhrwV/17ILe/boA0DVaf9Gt1f+5t+r2dcZFRSXun1UJ2nSbrFE52j/cqHQrxC9cPTGFjpDnnbZeNH0y0KX6r/5s/DmLheebL+okCq3PwAAAIBdB4V+BVV9hKzV4zrKjhFKAAAAAGVGoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACP1LoDFve5Wq0m25baQQUNnCSyfJ4dVND4GUL7F8iH9s8xXSAnewyuyZatdgCgUoYMEnn7XfKyT7SvDKCaypaTKfRToNAsFu1fLAp9AAAAoBpyLfSZOQKqi5kjAAAAoBpyLfQBAAAAAEDf4mZ8AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4hEIfAAAAAACPUOgDAAAAAOARCn0AAAAAADxCoQ8AAAAAgEco9AEAAAAA8AiFPgAAAAAAHqHQBwAAAADAIxT6AAAAAAB4Q+T/B/ShDRR/l3aIAAAAAElFTkSuQmCC\" data-image-state=\"image-loaded\" width=\"764\" height=\"221\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = peacefulQueens(n)\r\n  y = f(n);\r\nend","test_suite":"%%\r\nn = 5;\r\nassert(isequal(peacefulQueens(n),12))\r\n\r\n%%\r\nn = 8;\r\nassert(isequal(peacefulQueens(n),42))\r\n\r\n%%\r\nn = 64;\r\nassert(isequal(peacefulQueens(n),3906))\r\n\r\n%%\r\nn = 4096;\r\nassert(isequal(peacefulQueens(n),16764930))\r\n\r\n%%\r\nn = 262144;\r\nassert(isequal(peacefulQueens(n),68718690306))\r\n\r\n%%\r\nn = 2097152;\r\nassert(isequal(peacefulQueens(n),4398040219650))\r\n\r\n%%\r\nn = 16777216;\r\nassert(isequal(peacefulQueens(n),281474926379010))\r\n\r\n%%\r\nm = randi(1000)+4;\r\ny = sum(arrayfun(@peacefulQueens,3:m));\r\nassert(isequal(y,polyval([1 3 2 0],m-2)/3))\r\n\r\n%%\r\nfiletext = fileread('peacefulQueens.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext,'switch') || contains(filetext,'regexp'); \r\nassert(~illegal)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2022-07-02T17:52:57.000Z","deleted_by":null,"deleted_at":null,"solvers_count":76,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-07-02T02:16:14.000Z","updated_at":"2026-01-26T15:48:57.000Z","published_at":"2022-07-02T02:17:02.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn a 5x5 chessboard with a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Queen_(chess)#Placement_and_movement\\\"\u003e\u003cw:r\u003e\u003cw:t\u003equeen\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e of one color (white, say) on the perimeter, one can place 12 black queens on the board such that none of the black queens can attack the white one (or vice versa). \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 that returns the number of queens that cannot attack a queen of the other color placed anywhere on the perimeter of an \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e chessboard. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"221\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"764\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\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\"}]}"},{"id":315,"title":"Valid Chess Moves","description":"Using standard Algebraic notation ('' for a pawn), given previous move and a next move, output true if it is a valid move or false otherwise. Assume there are no other pieces on the chess board, that the piece can be either black or white (whichever generates a valid result) and the previous move was valid. Examples:\r\nMoving a pawn one space:\r\n('c5','c6') -\u003e true \r\n\r\nMoving a bishop non-diagonally:\r\n('Bb7','Bd7') -\u003e false","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: 175.167px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 87.5833px; transform-origin: 407px 87.5833px; vertical-align: baseline; \"\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: pre-wrap; 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: 17.5px 8px; transform-origin: 17.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eUsing\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003estandard Algebraic notation\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: 276.5px 8px; transform-origin: 276.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e ('' for a pawn), given previous move and a next move, output true if it is a valid move or false otherwise. Assume there are no other pieces on the chess board, that the piece can be either black or white (whichever generates a valid result) and the previous move was valid. Examples:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 102.167px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 51.0833px; transform-origin: 404px 51.0833px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 96px 8.5px; tab-size: 4; transform-origin: 96px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 28px 8.5px; transform-origin: 28px 8.5px; \"\u003eMoving \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 68px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 68px 8.5px; \"\u003ea pawn one space:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 80px 8.5px; tab-size: 4; transform-origin: 80px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e(\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 16px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 16px 8.5px; \"\u003e'c5'\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e,\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 16px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 16px 8.5px; \"\u003e'c6'\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 40px 8.5px; transform-origin: 40px 8.5px; \"\u003e) -\u0026gt; true \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 124px 8.5px; tab-size: 4; transform-origin: 124px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 28px 8.5px; transform-origin: 28px 8.5px; \"\u003eMoving \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 96px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 96px 8.5px; \"\u003ea bishop non-diagonally:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e(\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 20px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 20px 8.5px; \"\u003e'Bb7'\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e,\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 20px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 20px 8.5px; \"\u003e'Bd7'\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 40px 8.5px; transform-origin: 40px 8.5px; \"\u003e) -\u0026gt; false\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function z = chessmove(x,y)\r\n  z = false;\r\nend","test_suite":"%%\r\nx = 'c5';\r\ny = 'c6';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'a2';\r\ny = 'a5';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'g3';\r\ny = 'h4';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Bb7';\r\ny = 'Bd7';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Bg2';\r\ny = 'Bh3';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Nf1';\r\ny = 'Ne3';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Nc5';\r\ny = 'Nc3';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Qb2';\r\ny = 'Qc4';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Qa1';\r\ny = 'Qh8';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Rh7';\r\ny = 'Rh3';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Rb2';\r\ny = 'Rh8';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Ke1';\r\ny = 'Ke2';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Kf3';\r\ny = 'Kg4';\r\nz = true;\r\nassert(isequal(chessmove(x,y),z))\r\n\r\n%%\r\nx = 'Kb2';\r\ny = 'Kc4';\r\nz = false;\r\nassert(isequal(chessmove(x,y),z))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":1022,"edited_by":223089,"edited_at":"2022-05-23T10:24:16.000Z","deleted_by":null,"deleted_at":null,"solvers_count":85,"test_suite_updated_at":"2022-05-23T09:39:10.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-13T05:34:29.000Z","updated_at":"2026-03-30T18:59:55.000Z","published_at":"2012-02-13T05:35:32.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUsing\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003estandard Algebraic notation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e ('' for a pawn), given previous move and a next move, output true if it is a valid move or false otherwise. Assume there are no other pieces on the chess board, that the piece can be either black or white (whichever generates a valid result) and the previous move was valid. Examples:\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[Moving a pawn one space:\\n('c5','c6') -\u003e true \\n\\nMoving a bishop non-diagonally:\\n('Bb7','Bd7') -\u003e false]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45433,"title":"The Dark Knight","description":"  The current position of the knight is x \r\n  The desired destination is y\r\n The size of the chessboard is n.\r\n\r\nFind the minimum number of moves required by the knight to reach the destination.\r\n\r\nFor example, \r\n  \r\n x=[2,2]  y=[3,3] -- moves required = 2  \r\n   [2,2] \u003e [1,4] \u003e [3,3]\r\n","description_html":"\u003cpre class=\"language-matlab\"\u003eThe current position of the knight is x \r\nThe desired destination is y\r\nThe size of the chessboard is n.\r\n\u003c/pre\u003e\u003cp\u003eFind the minimum number of moves required by the knight to reach the destination.\u003c/p\u003e\u003cp\u003eFor example,\u003c/p\u003e\u003cpre\u003e x=[2,2]  y=[3,3] -- moves required = 2  \r\n   [2,2] \u0026gt; [1,4] \u0026gt; [3,3]\u003c/pre\u003e","function_template":"function out = knight_step(x,y,n)","test_suite":"%%\r\nassert(isequal(knight_step([2,2],[3,3],8),2))\r\n%%\r\nassert(isequal(knight_step([2,2],[1,1],20),4))\r\n\r\n%%\r\nassert(isequal(knight_step([2,2],[8,8],12),4))\r\n\r\n%%\r\nassert(isequal(knight_step([2,2],[12,11],12),7))\r\n\r\n%%\r\nassert(isequal(knight_step([1,3],[8,3],8),5))\r\n%%\r\nassert(isequal(knight_step([1,3],[5,4],8),3))\r\n%%\r\nassert(isequal(knight_step([8,2],[1,2],8),5))\r\n\r\n%%\r\nassert(isequal(knight_step([8,7],[21,32],50),14))\r\n%%\r\nassert(isequal(knight_step([5,19],[5,19],20),0))\r\n%%\r\nassert(isequal(knight_step([5,19],[19,5],20),10))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":21,"test_suite_updated_at":"2020-04-10T06:28:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-10T06:20:09.000Z","updated_at":"2026-01-21T12:55:02.000Z","published_at":"2020-04-10T06:28:31.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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[The current position of the knight is x \\nThe desired destination is y\\nThe size of the chessboard is 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\u003eFind the minimum number of moves required by the knight to reach the destination.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor 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[ x=[2,2]  y=[3,3] -- moves required = 2  \\n   [2,2] \u003e [1,4] \u003e [3,3]]]\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\"}]}"},{"id":45389,"title":"Knight's Watch","description":"  \"Night gathers, and now my watch begins\"\r\n\r\nA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\r\n\r\nAny knight's move that places him outside the board should be considered invalid.\r\n\r\n For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\r\n\r\nBrief explanation:\r\n\r\n  Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\n positions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\r\n","description_html":"\u003cpre class=\"language-matlab\"\u003e\"Night gathers, and now my watch begins\"\r\n\u003c/pre\u003e\u003cp\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\u003c/p\u003e\u003cp\u003eAny knight's move that places him outside the board should be considered invalid.\u003c/p\u003e\u003cpre\u003e For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\u003c/pre\u003e\u003cp\u003eBrief explanation:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eSay the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\npositions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\u003c/pre\u003e","function_template":"function prob = knights_watch(x,n,k)","test_suite":"%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,3,2),0.0625))\r\n%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,4,4),0.0176))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,6,9),0.012))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,8,25),0.0011))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,8,15),0.0042))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,16,15),0.4666))\r\n%%\r\nx =[3,1];\r\nassert(isequal(knights_watch(x,16,50),0.0037))","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":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-25T18:55:22.000Z","updated_at":"2026-01-23T12:14:39.000Z","published_at":"2020-03-25T18:55:22.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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[\\\"Night gathers, and now my watch begins\\\"]]\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\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\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\u003eAny knight's move that places him outside the board should be considered invalid.\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[ For simplicity, the knight's position on the chessboard is defined with the numeric\\n notation instead of algebraic notation. so 'Ka1' is represented as (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\u003eBrief explanation:\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[Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\\npositions are valid i.e. the knight remains within the chessboard and they are -\\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?]]\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\"}]}"},{"id":113,"title":"N-Queens Checker","description":"Picture a chessboard populated with a number of queens (i.e. pieces that can move like a queen in chess). The board is a matrix, a, filled mostly with zeros, while the queens are given as ones. Your job is to verify that the board is a legitimate answer to the \u003chttp://en.wikipedia.org/wiki/Eight_queens_puzzle N-Queens problem\u003e. The board is good only when no queen can \"see\" (and thus capture) another queen.\r\n\r\nExample\r\n\r\nThe matrix below shows two queens on a 3-by-3 chessboard. The queens can't see each other, so the function should return TRUE.\r\n\r\n 1 0 0\r\n 0 0 1\r\n 0 0 0\r\n\r\nHere is a bigger board with more queens. Since the queens on rows 3 and 4 are adjacent along a diagonal, they can see each other and the function should return FALSE.\r\n\r\n 0 0 0 1\r\n 1 0 0 0\r\n 0 0 1 0 \r\n 0 1 0 0\r\n\r\nThe board doesn't have to be square, but it always has 2 or more rows and 2 or more columns. This matrix returns FALSE.\r\n\r\n 1 0 0 0 0 \r\n 0 0 0 1 1\r\n","description_html":"\u003cp\u003ePicture a chessboard populated with a number of queens (i.e. pieces that can move like a queen in chess). The board is a matrix, a, filled mostly with zeros, while the queens are given as ones. Your job is to verify that the board is a legitimate answer to the \u003ca href=\"http://en.wikipedia.org/wiki/Eight_queens_puzzle\"\u003eN-Queens problem\u003c/a\u003e. The board is good only when no queen can \"see\" (and thus capture) another queen.\u003c/p\u003e\u003cp\u003eExample\u003c/p\u003e\u003cp\u003eThe matrix below shows two queens on a 3-by-3 chessboard. The queens can't see each other, so the function should return TRUE.\u003c/p\u003e\u003cpre\u003e 1 0 0\r\n 0 0 1\r\n 0 0 0\u003c/pre\u003e\u003cp\u003eHere is a bigger board with more queens. Since the queens on rows 3 and 4 are adjacent along a diagonal, they can see each other and the function should return FALSE.\u003c/p\u003e\u003cpre\u003e 0 0 0 1\r\n 1 0 0 0\r\n 0 0 1 0 \r\n 0 1 0 0\u003c/pre\u003e\u003cp\u003eThe board doesn't have to be square, but it always has 2 or more rows and 2 or more columns. This matrix returns FALSE.\u003c/p\u003e\u003cpre\u003e 1 0 0 0 0 \r\n 0 0 0 1 1\u003c/pre\u003e","function_template":"function tf = queens(a)\r\n  tf = true;\r\nend","test_suite":"%%\r\n\r\na = [1 0 0; 0 0 1; 0 0 0];\r\ntf_correct = true;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = [0 0 0 1; 1 0 0 0; 0 0 1 0; 0 1 0 0];\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = [1 0 0 0 0; 0 0 0 1 1];\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n\r\n%%\r\n\r\na = [ ...\r\n  0 0 1 0 0 0 0 0; 0 0 0 0 0 0 1 0; 0 1 0 0 0 0 0 0; 0 0 0 0 0 0 0 1;\r\n  0 0 0 0 0 1 0 0; 0 0 0 1 0 0 0 0; 1 0 0 0 0 0 0 0; 0 0 0 0 1 0 0 0];\r\ntf_correct = true;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = ones(15,7);\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = zeros(20,23);\r\na(1,22) = 1;\r\na(2,23) = 1;\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = [1 0; 0 1];\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n\r\n%%\r\n\r\na = [1 0 1; 0 0 0; 0 1 0];\r\ntf_correct = false;\r\nassert(isequal(queens(a),tf_correct))\r\n","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":311,"test_suite_updated_at":"2017-03-15T16:59:10.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2012-01-26T20:33:45.000Z","updated_at":"2026-03-23T21:08:43.000Z","published_at":"2012-01-30T15:34:35.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:t\u003ePicture a chessboard populated with a number of queens (i.e. pieces that can move like a queen in chess). The board is a matrix, a, filled mostly with zeros, while the queens are given as ones. Your job is to verify that the board is a legitimate answer to the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Eight_queens_puzzle\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eN-Queens problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. The board is good only when no queen can \\\"see\\\" (and thus capture) another queen.\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\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\u003eThe matrix below shows two queens on a 3-by-3 chessboard. The queens can't see each other, so the function should return TRUE.\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[ 1 0 0\\n 0 0 1\\n 0 0 0]]\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\u003eHere is a bigger board with more queens. Since the queens on rows 3 and 4 are adjacent along a diagonal, they can see each other and the function should return FALSE.\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[ 0 0 0 1\\n 1 0 0 0\\n 0 0 1 0 \\n 0 1 0 0]]\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\u003eThe board doesn't have to be square, but it always has 2 or more rows and 2 or more columns. This matrix returns FALSE.\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[ 1 0 0 0 0 \\n 0 0 0 1 1]]\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\"}]}"},{"id":96,"title":"Knight's Tour Checker","description":"Given a matrix a, determine whether or not a legal \u003chttp://en.wikipedia.org/wiki/Knight's_tour knight's tour\u003e is present. The knight's tour always follows the pattern 1, 2, 3, ... but it need not fill the entire matrix. Any unused squares contain zeros. Your function should return true if the counting sequence from 1 to n represents a knight's tour, and false if not.\r\n\r\nExample\r\n\r\nThe matrix a as given below is a legal knight's tour. The middle square is unreachable, but since it contains a zero, it satisfies the condition. The function should return TRUE.\r\n\r\n  7     2     5\r\n  4     0     8\r\n  1     6     3\r\n\r\nHere is another legal (if short) knight's tour. The test suite will always contain at least one move (i.e. the counting sequence [1 2]). Note the matrix is not required to be square.\r\n\r\n  1     0     0\r\n  0     0     2\r\n \r\nHere is an illegal knight's tour. Everything is fine up until the jump from 14 to 15, which is illegal because it jumps from row 4 to row 1.\r\n\r\n 15     5    12     3\r\n  0     2     9     6\r\n  8    11     4    13\r\n  1    14     7    10","description_html":"\u003cp\u003eGiven a matrix a, determine whether or not a legal \u003ca href=\"http://en.wikipedia.org/wiki/Knight's_tour\"\u003eknight's tour\u003c/a\u003e is present. The knight's tour always follows the pattern 1, 2, 3, ... but it need not fill the entire matrix. Any unused squares contain zeros. Your function should return true if the counting sequence from 1 to n represents a knight's tour, and false if not.\u003c/p\u003e\u003cp\u003eExample\u003c/p\u003e\u003cp\u003eThe matrix a as given below is a legal knight's tour. The middle square is unreachable, but since it contains a zero, it satisfies the condition. The function should return TRUE.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e7     2     5\r\n4     0     8\r\n1     6     3\r\n\u003c/pre\u003e\u003cp\u003eHere is another legal (if short) knight's tour. The test suite will always contain at least one move (i.e. the counting sequence [1 2]). Note the matrix is not required to be square.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e1     0     0\r\n0     0     2\r\n\u003c/pre\u003e\u003cp\u003eHere is an illegal knight's tour. Everything is fine up until the jump from 14 to 15, which is illegal because it jumps from row 4 to row 1.\u003c/p\u003e\u003cpre\u003e 15     5    12     3\r\n  0     2     9     6\r\n  8    11     4    13\r\n  1    14     7    10\u003c/pre\u003e","function_template":"function tf = knights_tour(a)\r\n  tf = true;\r\nend","test_suite":"%%\r\n\r\na = ...\r\n[ 7     2     5\r\n  4     0     8\r\n  1     6     3];\r\ntf_correct = true;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = ...\r\n[ 1     0   0\r\n  0     0   2];\r\ntf_correct = true;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = ...\r\n[ 15     5    12     3\r\n   0     2     9     6\r\n   8    11     4    13\r\n   1    14     7    10];\r\ntf_correct = false;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = ...\r\n[  0     5    12     3\r\n  15     2     9     6\r\n   8    11     4    13\r\n   1    14     7    10];\r\ntf_correct = true;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = [22 29 4 31 16 35;3 32 23 34 5 14;28 21 30 15 36 17;9 2 33 24 13 6;20 27 8 11 18 25;1 10 19 26 7 12];\r\ntf_correct = true;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = [22 29 4 31 16 35;3 32 23 34 5 14;28 21 30 15 0 17;2 9 33 24 13 6;20 27 8 11 18 25;1 10 19 26 7 12];\r\ntf_correct = false;\r\nassert(isequal(knights_tour(a),tf_correct))\r\n\r\n%%\r\n\r\na = [1 0 0;0 0 0;2 0 0];\r\ntf_correct = false;\r\nassert(isequal(knights_tour(a),tf_correct))","published":true,"deleted":false,"likes_count":24,"comments_count":4,"created_by":1,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":1471,"test_suite_updated_at":"2016-01-13T18:56:25.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:30.000Z","updated_at":"2026-02-19T13:37:52.000Z","published_at":"2012-01-18T01:00:30.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:t\u003eGiven a matrix a, determine whether or not a legal\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Knight's_tour\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eknight's tour\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is present. The knight's tour always follows the pattern 1, 2, 3, ... but it need not fill the entire matrix. Any unused squares contain zeros. Your function should return true if the counting sequence from 1 to n represents a knight's tour, and false if not.\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\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\u003eThe matrix a as given below is a legal knight's tour. The middle square is unreachable, but since it contains a zero, it satisfies the condition. The function should return TRUE.\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[7     2     5\\n4     0     8\\n1     6     3]]\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\u003eHere is another legal (if short) knight's tour. The test suite will always contain at least one move (i.e. the counting sequence [1 2]). Note the matrix is not required to be square.\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[1     0     0\\n0     0     2]]\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\u003eHere is an illegal knight's tour. Everything is fine up until the jump from 14 to 15, which is illegal because it jumps from row 4 to row 1.\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[ 15     5    12     3\\n  0     2     9     6\\n  8    11     4    13\\n  1    14     7    10]]\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\"}]}"},{"id":306,"title":"Eight Queens Solution Checker","description":"Write a function to verify whether an arrangement of queens on a chessboard is a valid solution to the classic eight queens problem.\r\nIn the eight queens problem, eight queens must be placed on a chessboard such that no two queens attack each other. That is, no two queens can share the same row, column, or diagonal. The diagram below is one possible solution:\r\n\r\nYour function should take an 8-by-8 matrix of 0s and 1s, where the 1s represent the position of the queens, and return a logical 1 if the solution is valid or a logical 0 otherwise.\r\nEXAMPLE 1\r\n   in1 = [ ...\r\n       0 0 0 1 0 0 0 0\r\n       0 0 0 0 0 0 1 0\r\n       0 0 1 0 0 0 0 0\r\n       0 0 0 0 0 0 0 1\r\n       0 1 0 0 0 0 0 0\r\n       0 0 0 0 1 0 0 0\r\n       1 0 0 0 0 0 0 0\r\n       0 0 0 0 0 1 0 0 ];\r\n\r\n   isEightQueensSolution(in1)\r\nreturns 1.\r\nEXAMPLE 2\r\n   in2 = [ ...\r\n       0 0 0 1 0 0 0 0\r\n       0 0 0 0 0 0 1 0\r\n       0 0 1 0 0 0 0 0\r\n       0 0 0 0 0 0 0 1\r\n       0 1 0 0 0 0 0 0\r\n       1 0 0 0 0 0 0 0\r\n       0 0 0 0 1 0 0 0\r\n       0 0 0 0 0 1 0 0 ];\r\n\r\n   isEightQueensSolution(in2)\r\nreturns 0. (Notice that the queens on the bottom two rows share a diagonal.)","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: 1032.03px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 516.017px; transform-origin: 407px 516.017px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; 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: 343.5px 8px; transform-origin: 343.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to verify whether an arrangement of queens on a chessboard is a valid solution to the classic\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eeight queens problem\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: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; 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: 377.5px 8px; transform-origin: 377.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn the eight queens problem, eight queens must be placed on a chessboard such that no two queens attack each other. That is, no two queens can share the same row, column, or diagonal. The diagram below is one possible solution:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 287.5px; 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 143.75px; text-align: center; transform-origin: 384px 143.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARoAAAEaCAIAAABB0Q/tAAAXF0lEQVR42u2de2xVVdrGe6X0tKXtodRS6rHtqYci6MBQoZCGaYDwqcOIgwQQIVSFMioKgToIRjJgIChyB8XCAFViJhnjhcmIcdAQnBj+KF4y/uGFQWIMIpLSeKmkgHxPu5jFbu33TTzdhdOu385mZ593v2vlPH3XL2uvczj7iXuGjY3Npy1O/y5ebLwy+6C6Z6/MjiIUXXlF4IQiFIFTty3VwB2bw2tX6sjgAydK9QsUFa9efu3i+ZHt622kcMXS5H45cXFxOurcxiPPrCt4eJ7ywQmcKFUHe+6MKUkpKcFgMDm3X8m6VSYYGFy6cOHCr776Skedm6Amq6S+2cpUvlqBEzi5XqqBz23oP2dW/7mzzVxUumtrQiD1pZdeam5unjx5cva435i03oWhTZs2Xbx4UUedm6CuKkeZylcrtb3U4dzZ6lMn4ARODpWqdPe2wKCBxcXF4XC4V16u1kVCIj4l5Y033rhw4cLdd9+dVVlh3pUIyczKmjZtmo46N0FdVY4yla9WaqseUsNF6q2kpCQwsGRg7SZwAidXShVauqhfv35nzpw5d+5cXl6eVkEK5ky6LSUlRUgkZWUWr/mTfWN5VTO0dtLRu8RKTE9TpvLVShH1oHu/pqams2fPqmctwMAJnFwp1XXLFmdkZHz++efffPNNdnZ2wYI/mPdQ9MRjWjgFbx3vfWOhJQuEU8HC+71B5ShT+TZH/ai3r7/+Wj2rf3ACJ4dKpRs2QRIfHx8ojXg/BE+NhJNz+nojudMmK1NH70fnmp2U6X3/unuMb93Sf/0r1k7g5FypNLcIkpRQQemft3hxEjyhRx62kcyKUYr0GVlmI5rNFPHipB70Ur3Z+QqcwMm5Umn0C4z+985sh1PGiOE2knLtgJqaml55uaW7t5mIrrbDST0o4mUJnMDJuVJdv3VtXEJCYkZGZNvTFqfa2tqUQOD6TWvMfV18YuInn3ySkJBg7gAV11XlWJzUVj2oH/UGTuDkdKmS+mZrYrFfNAmSt956a8KECdfMnNryocXjj2RnZ1+8eLGgoEDniiiuq8qxOKmtelA/fI0LTq6Xqndx4cSJE9PS04tWLrM41dXVaU3VAs+saePHjxdOOuq85d4vVKCrFie1Ulv1oH7ACZxcL1XGzcNWrVq1bNmy1HCRVkcGp8bGxozMzMIVS7PHVz700EPCacmSJZkVoxRRXFcNTi354aIFCxZs2LBB/YATOLleqn5TJs2cOfO7777Lycnpf+/M1JJiofLTTz/dd999WZUVmot2796tl3v27OmVl6uI4nrZglNJsfLVSm3nzZunfsAJnFwvVf68e8rKyjT/PP/883Gt2/79+48cObJmzRrzcvbs2XPnzq2pqTEvX3zxxc8++0w4mZdqpbZjxoxRP+AETq6X6rpli3v37v3jjz9qzhk+fLj5bjeu7Zafn2/PzdXi4mIdlf9T69avXz/vV1XgBE6OliryzDqBoQlq9erVo0ePNvC88sor69evv/322++66y5NR+fOndu4ceOwYcMGDx68dOlSXe3bt68y58yZs2PHjttuu03n9qN2cAInd0s1cMfmhLRAOBy+s3V74oknTp06pQlHt3A//d/bp59+Wl1dXVpaOmjQILVVDz//uS41AicXSxW8ZdzIkSObm5vFSWNj47Fjx15r3TRBPd52U8RcUo4yla9Waqse+PkgOFGq1v8bseXJxMw+lZWVQ4cOTUtLCwQCupe78cYb/6ejTfDoqnKUqXy1Ulv1AE7gRKku7TmTf6f1z65duz788MMzZ87815s95Rw9enT37t3XXHON2vLjdnCiVJf3wuV/FE66c/vyyy/feeedLVu2bNiwYcWKFTPabvPnz9/Quh04cEDLp6amppSUFLUFJ3CiVJf30l1bhdOAAQPi4+NLS0tvvvnmOXPm3N/RpriuKsd+nm6eFQFO4ESp2uBUV1d34cIF703d/3PLp0zlgxM4Uar2e+jRhQLjhx9+OHLkiCBZuHCh7uumTJlS3nZTRHFdVY4yld/yW8NHF4ITOFGqNs9+EBi9e/c2X+OOGTNm2rRpjz322NNtN0UUv/XWW4uKimx+u2dLgBM4uV6q1HALHs8999wXX3xhvoD6r5syX3jhhZaf5YaLwAmcKNV/Fk67t2VWjIrvlXzDDTfMmzdv48aN+/btq6+v/6qjTXFdXbVq1axZs5Qfl5DQZ2RZh8snagRO7pYqsu3p/Hn3BG8ZlzZkUMqA/IS0QEIgtd3/hVVE8eScvspRpvI7/AIXnMCJUnUwa4XXrvTu9ukrOGiAE6VCEYrACUUo6lKc+AuiCEWd38EJRSgCJwafe4pi3wcVnFAUi4q6qQ8qOKEo5hR1Xx9UcELRVVbUk3xQwQlFV1NRD/NBBScUXU1FPcwHFZxQdDUV9TAfVHBC0VVW1JN8UMEJRVdfUY/xQQUnFMWEop7hgwpOKIoJRT3DBxWcUBQrinqADyo4oShWFPUAH1RwQlGsKOoBPqjghKJYUdQDfFDBCUWxoqgH+KCCE4piRVEP8EEFJxTFiqIe4IMKTiiKFUU9wAcVnFAUQ4q6uw8qOKEohhR1dx9UcEJRbCnq1j6o4ISi2FLUrX1QwQlFsWjc2E19UMEJRbGIUzf1QQUnFMWWom7tgwpOKIotRd3aBxWcUBRbirq1Dyo4oSiGFHV3H1RwQlHMKeq+PqjghKJuoKi7+KCCE4pQBE4MPhTFLE78BVGEos7v4IQiFIGT36Vqajp59Oj7OjL4UAROv6BUH310+PXX/9rY+IWN1NcfLC4ubH3wQKHObbyh4fjLL+9VPoMPReDUwb5+/erU1NRgMFhSUnz8+L9McPz4SmsUqXMT1GQVChUoU/lqxeBDkes4ffvtl7t2bduz51kzFzU3n87KyrRGkQ88MMeklZUNs0aROjdBXbVGkWqltqZD9aY+dcLgQ5FDOJ0/3zB27BhjFBmJhLUuEhLp6WnWKLK6usq8KxGS1WoUqaPOTVBXrVGkWqmteigvLzNGkWPGjP7++xMMPhS5gtPBg3/3GkVqFaTg8uVLjFFkfn7exx/X2ze2ffsGrZ109C6xcnKCxihSrRRRD16jSC3AGHwocgWnQ4f2e40iX331RfMePvjgn1o41dQ85H1jBw68Jpz27fuLN6gcZSrf5niNItU/gw9FDq2ddMNmHhdaWVnh/RC8oqK8sDDkjTz11Epl6uj96FyzkzK97193j8Yo8o47fsvgQ5Fzn+xpbhEkQ4feePbsKS9OgufNN1+xkapWV/Dp0++0Ec1minhxUg96qd7sfMXgQ5FzH5Rr9AuMnTu3tMNp6tTf28hNNw2uqamJRMLnzzeYiK62w0k9KOJlicGHIudwOnXq30lJibm5OadPH7M41dbWav1z4sQn5r4uOTnJGEWaO0DFdVU5Fie1VQ/qR70x+FDk9Ne4oVCBJhb7RZMgMUaRmzc/qZfvvvsPaxSpc0UUN0aRFie1bXm4R6iAwYci13EaMWL4xIkT09PT33vvkMWprq5Oayq93Lp1rTWK1LkiihujSIOTWqW3GkWqHwYfilzHacqUScYosry8TKsjg1NjY2NWVlZ9/cH586utUWRV1QxFFDdGkcpUvloZo0j1w+BDkes4rV693BpF7ty5ZfToEdYosrq6SnORNYqMRMKKWKNIZSrfGkWqHwYfilzHae/eWl+MItUPgw9FruN06NB+X4wivV9VMfhQ5ChODQ3HfTGKtB+1M/hQ5C5OTU0ng8HsThpFqoef/1yXwYciF38+uGjRg500ilQPDD4UgVPLfvLkZ3l5uVEbRaqtemDwoQicLu0rVy6L2ihSbRl8KAKny/vhwweiNopUWwYfisDp8t7cfDpqo0jzrAgGH4rAqQ1O0RlFghOKwKnN/vbbf4vaKFJtGXwoAqc2z36I2iiy3bMlGHwoch2n8vKyqI0i1ZbBhyJwurSfP99QVTUjEEiNwigyKSlx+vQ7O1w+MfhQ5O5DlU+fPrZ3b+2iRQ9OmDB2yJBBwWB2VlZmu/8Lq4jihYUh5ShT+R1+gcvgQxGP/O9g1jp69H3vbp++wuBDETgx+FAETpQKRT0DJ/6CKEJR53dwQhGKwInBh6IuUxS1sys4ochpRf46u4ITitxV5LuzKzihyBVFV8DZFZxQ5ISiK+PsCk4ockLRlXF2BScUOaHoyji7ghOKXFF0BZxdwQlFDinqamdXcEKRW4q61NkVnFDklqIudXYFJxQ5p6jrnF3BCUXOKeo6Z1dwQpFzirrO2RWcUOScoq5zdgUnFDmnqOucXcEJRc4p6jpnV3BCkXOKus7ZFZxQ5JyirnN2BScUuaioi5xdwQlFLirqImdXcEKRo4q6wtkVnFDkqKKucHYFJxQ5qqgrnF3BCUVO4+Svsys4ochRRV3h7ApOKHJUUVc4u4ITihxV1BXOruCEIhcVdZGzKzihyF1Fvju7ghOKUNRm1uqMsys4oQhF+Dsx+FAUszjxF0QRijq/gxOKUOQMTgN3bA6vXakjpUIROP0CYcWrl1+7eH5k+3obKVyxNLlfTlxcnI46t/HIM+sKHp6nfAYfisCpgz13xpSklJRgMJic269k3SoTDAwutbaKOjdBTVZJfbOVqXy1YvChyHWcBj63of+cWf3nzjZzUemurQmBVGurmD3uNyatd2HI2irq3AR11doqqpXaXupw7mz1qRMGH4ocwql097bAoIHGVrFXXq7WRUIiPiXF2ipmVVaYNydCMlttFXXUuQnqqrVVVCu1VQ+p4SJjqxgYWDKwdhODD0Wu4BRaushrq6hVkII5k24ztopJWZnFa/5k319eq9OOjt4lVmJ6mrFVVCtF1IPXVlELMAYfilzB6bpli722igUL/mDeStETj2nhFLx1vPf9hZYsEE4FC+/3BpWjTOXbHK+tovpn8KHIobWTbtjMwzUDpRHvh+CpkXByTl9vJHfaZGXq6P3oXLOTMr0ydPdobBXTf/0rBh+KnPtkT3OLIEkJFZT+eYsXpxbbnEcetpHMilGK9BlZZiOazRTx4qQe9FK92fmKwYci5z4o1+gXGP3vndkOp4wRw20k5doBNTU1vfJyS3dvMxFdbYeTelDEyxKDD0XO4XT91rVxCQmJGRmRbU9bnGpra1MCges3rTH3dfGJicZW0dwBKq6ryrE4qa16UD/qjcGHIqe/xk3qm62JxX7RJEiMreI1M6e2fGjx+CPWVlHniihubBUtTmqrHtQPgw9FruPUu7hw4sSJaenpRSuXWZzq6uq0pmqBZ9Y0a6uo85Z7v1CBsVU0OKlVWqutovph8KHIdZwybh5mbBVTw0VaHRmcGhsbMzIzC1cszR5faW0VMytGKaK4sVVUZkt+uMjYKqofBh+KXMep35RJ1lax/70zU0uKra1iVmWF5iJrq9grL1cRa6uoTOVbW0X1w+BDkes45c+7xxdbRfXD4EOR6zhdt2yxL7aK3q+qGHwochSnyDPrfLFVtB+1M/hQ5C5OA3dsTkgLdNJWUT38/Oe6DD4UufjzweAt4zppq6geGHwoAqfW/xux5cnEzD5R2yqqrXpg8KEInC7tOZN/F7Wtotoy+FAETpf3wuV/jNpWUW0ZfCgCp8t76a6tUdsqmmdFMPhQBE5tcIrOVhGcUARObfbQowujtlVUWwYfisCpzbMforZVbPdsCQYfilzHKTVcFLWtotoy+FAETv9ZOO3ellkxKr5XchS2inEJCX1GlnW4fGLwocjdhypHtj2dP++e4C3j0oYMShmQn5AWSAiktvu/sIoonpzTVznKVH6HX+Ay+FDEI/87mLXCa1d6d/v0FQYfisCJUqEInCgVilD0i3DiL4giFHV+BycUoQicGHz/bccHFZwoVTSK8EEFJ0rljyJ8UMGJUkWpCB9UcAInfxThgwpO4OSbInxQwQmcfFOEDyo4gZOfivBBBSdw8lMRPqjgRKn8VIQPKjhRKt8U4YMKTpTKT0X4oIITpfJNET6o4ESpfFOEDyo4USrfFOGDCk6UyjdF+KCCE6XyTRE+qOBEqXxThA8qOFEq3xThgwpOlMpPRfigghOl8k0RPqjgRKn8VIQPKjhRKt8U4YMKTpTKN0X4oIITpfIZJ3xQwYlS+aAIH1RwolS+KcIHFZwolW+K8EEFJ0rljyJ8UMGJUvmsCB9UcKJUXagIH1RwolQoAidKhSIUtcOJvyCKUNT5HZxQhKKrjVNT08mjR9/XkVKhCEW/AKePPjr8+ut/bWz8wkbq6w8WFxe2PnigUOc23tBw/OWX9yqfUqEInDrY169fnZqaGgwGS0qKjx//lwmOH19pjSJ1boKarEKhAmUqX60oFYpcx+nbb7/ctWvbnj3Pmrmoufl0VlamNYp84IE5Jq2sbJg1itS5CeqqNYpUK7U1Hao39akTSoUih3A6f75h7NgxxigyEglrXSQk0tPTrFFkdXWVeXMiJKvVKFJHnZugrlqjSLVSW/VQXl5mjCLHjBn9/fcnKBWKXMHp4MG/e40itQpScPnyJcYoMj8/7+OP6+372759g9ZOOnqXWDk5QWMUqVaKqAevUaQWYJQKRa7gdOjQfq9R5Kuvvmjeygcf/FMLp5qah7zv78CB14TTvn1/8QaVo0zl2xyvUaT6p1QocmjtpBs287jQysoK74fgFRXlhYUhb+Spp1YqU0fvR+eanZTplaG7R2MUeccdv6VUKHLukz3NLYJk6NAbz5495cVJ8Lz55is2UtXqCj59+p02otlMES9O6kEv1ZudrygVipz7oFyjX2Ds3LmlHU5Tp/7eRm66aXBNTU0kEj5/vsFEdLUdTupBES9LlApFzuF06tS/k5ISc3NzTp8+ZnGqra3V+ufEiU/MfV1ycpIxijR3gIrrqnIsTmqrHtSPeqNUKHL6a9xQqEATi/2iSZAYo8jNm5/Uy3ff/Yc1itS5Ioobo0iLk9q2PNwjVECpUOQ6TiNGDJ84cWJ6evp77x2yONXV1WlNpZdbt661RpE6V0RxYxRpcFKr9FajSPVDqVDkOk5TpkwyRpHl5WVaHRmcGhsbs7Ky6usPzp9fbY0iq6pmKKK4MYpUpvLVyhhFqh9KhSLXcVq9erk1ity5c8vo0SOsUWR1dZXmImsUGYmEFbFGkcpUvjWKVD+UCkWu47R3b60vRpHqh1KhyHWcDh3a74tRpPerKkqFIkdxamg47otRpP2onVKhyF2cmppOBoPZnTSKVA8//7kupUKRiz8fXLTowU4aRaoHSoUicGrZT578LC8vN2qjSLVVD5QKReB0aV+5clnURpFqS6lQBE6X98OHD0RtFKm2lApF4HR5b24+HbVRpHlWBKVCETi1wSk6o0hwQhE4tdnffvtvURtFqi2lQhE4tXn2Q9RGke2eLUGpUOQ6TuXlZVEbRaotpUIROF3az59vqKqaEQikRmEUmZSUOH36nR0unygVitx9qPLp08f27q1dtOjBCRPGDhkyKBjMzsrKbPd/YRVRvLAwpBxlKr/DL3ApFYp45H8Hs9bRo+97d/v0FUqFInDC3wlFKAInBh+KYhMn/oIoQlHnd3BCEYrAicEXM4pwdgUnFEWjCGdXcEKRP4pwdgUnFEWpCGdXcAInfxTh7ApO4OSbIpxdwQmcfFOEsys4gZOfinB2BSdw8lMRzq7gBE5+KsLZFZzAyTdFOLuCEzj5qQhnV3ACJ98U4ewKTuDkmyKcXcEJnHxThLMrOIGTb4pwdgUncPJNEc6u4AROvinC2RWcwMk3RTi7ghM4+akIZ1dwQpFvinB2BScU+akIZ1dwQpFvinB2BScU+aYIZ1dwQpHPOOHsCk4o8kERzq7ghCLfFOHsCk4o8k0Rzq7ghCJ/FOHsCk4o8lkRzq7ghKIuVISzKzihCEXgxOBDUXfBiY2NzZftfwHAyDu2GXeLKAAAAABJRU5ErkJggg==\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; 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: 380px 8px; transform-origin: 380px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour function should take an 8-by-8 matrix of 0s and 1s, where the 1s represent the position of the queens, and return a logical 1 if the solution is valid or a logical 0 otherwise.\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: pre-wrap; 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: 39px 8px; transform-origin: 39px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eEXAMPLE 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 224.767px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 112.383px; transform-origin: 404px 112.383px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 8.5px; tab-size: 4; transform-origin: 56px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 44px 8.5px; transform-origin: 44px 8.5px; \"\u003e   in1 = [ \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 12px 8.5px; text-decoration: none; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 12px 8.5px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 1 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 0 1 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 1 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 0 0 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 1 0 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 1 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       1 0 0 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 100px 8.5px; tab-size: 4; transform-origin: 100px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 1 0 0 ];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   isEightQueensSolution(in1)\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; 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: 30.5px 8px; transform-origin: 30.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ereturns 1.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; 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: 39px 8px; transform-origin: 39px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eEXAMPLE 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 224.767px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 112.383px; transform-origin: 404px 112.383px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 8.5px; tab-size: 4; transform-origin: 56px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 44px 8.5px; transform-origin: 44px 8.5px; \"\u003e   in2 = [ \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 12px 8.5px; text-decoration: none; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 12px 8.5px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 1 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 0 1 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 1 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 0 0 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 1 0 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       1 0 0 0 0 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 1 0 0 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 100px 8.5px; tab-size: 4; transform-origin: 100px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       0 0 0 0 0 1 0 0 ];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   isEightQueensSolution(in2)\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; 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: 240px 8px; transform-origin: 240px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ereturns 0. (Notice that the queens on the bottom two rows share a diagonal.)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = isEightQueensSolution(x)\r\n  y = x;\r\nend","test_suite":"%% Eight Queens Solution Checker Test Suite\r\n\r\n%%\r\n% Unique solution #6 from \r\n% http://en.wikipedia.org/wiki/Eight_queens_puzzle\r\nin1 = [ ...\r\n    0 0 0 0 1 0 0 0\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0 ];\r\nout1 = isEightQueensSolution(in1);\r\nassert(islogical(out1));\r\nassert(isequal(out1, 1));\r\n\r\n%%\r\n% Unique solution #7\r\nin2 = [ ...\r\n    0 0 0 0 1 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    0 0 0 1 0 0 0 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0 ];\r\nout2 = isEightQueensSolution(in2);\r\nassert(isequal(out2, 1));\r\n\r\n%%\r\n% Unique solution #10\r\nin3 = [ ...\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 0 1 0 0 0\r\n    0 0 1 0 0 0 0 0 ];\r\nout3 = isEightQueensSolution(in3);\r\nassert(isequal(out3, 1));\r\n\r\n%%\r\n% Unique solution #11\r\nin4 = [ ...\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 0 1 0 0 0\r\n    0 1 0 0 0 0 0 0\r\n    0 0 0 0 0 1 0 0\r\n    0 0 1 0 0 0 0 0 ];\r\nout4 = isEightQueensSolution(in4);\r\nassert(isequal(out4, 1));\r\n\r\n%%\r\nin5 = [ ...\r\n    0 0 0 0 1 0 0 0\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0 ];\r\nout5 = isEightQueensSolution(in5);\r\nassert(isequal(out5, 0));\r\n\r\n%%\r\nin6 = [ ...\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    0 0 0 1 0 0 0 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0 ];\r\nout6 = isEightQueensSolution(in6);\r\nassert(isequal(out6, 0));\r\n\r\n%%\r\nin7 = [ ...\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 1 0 0 0 ];\r\nout7 = isEightQueensSolution(in7);\r\nassert(isequal(out7, 0));\r\n\r\n%%\r\nin8 = [ ...\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 1 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 0 1 0 0 1\r\n    0 0 0 0 0 0 0 0\r\n    0 1 0 0 0 0 0 0\r\n    0 0 0 0 0 1 0 0\r\n    0 0 1 0 0 0 0 0 ];\r\nout8 = isEightQueensSolution(in8);\r\nassert(isequal(out8, 0));\r\n\r\n%%\r\n% Only 7 queens\r\nin9 = [ ...\r\n    0 0 0 0 1 0 0 0\r\n    0 0 1 0 0 0 0 0\r\n    0 0 0 0 0 0 0 1\r\n    0 0 0 1 0 0 0 0\r\n    0 0 0 0 0 0 0 0\r\n    1 0 0 0 0 0 0 0\r\n    0 0 0 0 0 1 0 0\r\n    0 1 0 0 0 0 0 0 ];\r\nout9 = isEightQueensSolution(in9);\r\nassert(isequal(out9, 0));\r\n\r\n%%\r\n% Row and column constraint satisfied but \r\n% not diagonal constraint.\r\nin10 = eye(8);\r\nout10 = isEightQueensSolution(in10);\r\nassert(isequal(out10, 0));\r\n\r\n%%\r\n% Row and column constraint satisfied but \r\n% not diagonal constraint.\r\nin10 = flip(eye(8));\r\nout10 = isEightQueensSolution(in10);\r\nassert(isequal(out10, 0));","published":true,"deleted":false,"likes_count":6,"comments_count":2,"created_by":4303371,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":168,"test_suite_updated_at":"2022-01-07T08:34:21.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-11T12:21:25.000Z","updated_at":"2026-03-23T21:10:35.000Z","published_at":"2012-02-11T12:55:24.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\u003eWrite a function to verify whether an arrangement of queens on a chessboard is a valid solution to the classic\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eeight queens problem\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\u003eIn the eight queens problem, eight queens must be placed on a chessboard such that no two queens attack each other. That is, no two queens can share the same row, column, or diagonal. The diagram below is one possible solution:\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=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour function should take an 8-by-8 matrix of 0s and 1s, where the 1s represent the position of the queens, and return a logical 1 if the solution is valid or a logical 0 otherwise.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEXAMPLE 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   in1 = [ ...\\n       0 0 0 1 0 0 0 0\\n       0 0 0 0 0 0 1 0\\n       0 0 1 0 0 0 0 0\\n       0 0 0 0 0 0 0 1\\n       0 1 0 0 0 0 0 0\\n       0 0 0 0 1 0 0 0\\n       1 0 0 0 0 0 0 0\\n       0 0 0 0 0 1 0 0 ];\\n\\n   isEightQueensSolution(in1)]]\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\u003ereturns 1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEXAMPLE 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   in2 = [ ...\\n       0 0 0 1 0 0 0 0\\n       0 0 0 0 0 0 1 0\\n       0 0 1 0 0 0 0 0\\n       0 0 0 0 0 0 0 1\\n       0 1 0 0 0 0 0 0\\n       1 0 0 0 0 0 0 0\\n       0 0 0 0 1 0 0 0\\n       0 0 0 0 0 1 0 0 ];\\n\\n   isEightQueensSolution(in2)]]\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\u003ereturns 0. (Notice that the queens on the bottom two rows share a diagonal.)\u003c/w:t\u003e\u003c/w:r\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\"}]}"},{"id":45236,"title":"Queen's move","description":"given a number of consecutive moves of queen, check for their validity based on their previous position....\r\nbut remember if u get an invalid move - u need check for the next move's validity based on the last valid position.....\r\n\r\n* x={'Qd1','Qd5','Qf7','Qa8','Qg8'}\r\n* y=[1,1,1,0,1]\r\n \r\n\u003chttps://en.wikipedia.org/wiki/Algebraic_notation_(chess)\u003e\r\n","description_html":"\u003cp\u003egiven a number of consecutive moves of queen, check for their validity based on their previous position....\r\nbut remember if u get an invalid move - u need check for the next move's validity based on the last valid position.....\u003c/p\u003e\u003cul\u003e\u003cli\u003ex={'Qd1','Qd5','Qf7','Qa8','Qg8'}\u003c/li\u003e\u003cli\u003ey=[1,1,1,0,1]\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Algebraic_notation_(chess)\"\u003ehttps://en.wikipedia.org/wiki/Algebraic_notation_(chess)\u003c/a\u003e\u003c/p\u003e","function_template":"function y = Queen_move(x)","test_suite":"%%\r\nx = {'Qd1','Qd5','Qf7','Qa8','Qg8'};\r\ny_correct = [1,1,1,0,1];\r\nassert(isequal(Queen_move(x),y_correct))\r\n%%\r\nx = {'Qd1','Qd5','Qf7','Qa8','Qc7'};\r\ny_correct = [1,1,1,0,1];\r\nassert(isequal(Queen_move(x),y_correct))\r\n%%\r\nx={'Qh1','Qg5','Qe6','Qe2','Qb3','Qd5','Qh7'};\r\ny_correct = [1,0,0,0,0,1,0];\r\nassert(isequal(Queen_move(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":2,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-20T16:33:40.000Z","updated_at":"2026-01-23T12:20:52.000Z","published_at":"2019-12-20T16:35:13.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:t\u003egiven a number of consecutive moves of queen, check for their validity based on their previous position.... but remember if u get an invalid move - u need check for the next move's validity based on the last valid position.....\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\u003ex={'Qd1','Qd5','Qf7','Qa8','Qg8'}\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\u003ey=[1,1,1,0,1]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Algebraic_notation_(chess)\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Algebraic_notation_(chess\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e)\u0026gt;\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":45237,"title":"Queen's move - 02","description":"In continuation with the problem-45236 ... \r\nIn the previous problem, it was assumed that there were no other chess pieces on the board... Now lets assume there is a number of king present on the board whose location is given in an array *p* . Now, check for the validity of Queen's moves.\r\n\r\n# x={'Qd1','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7','Qh7'}\r\n# p={'Kd4','Ke5','Kh7','Ke7'}\r\n\r\noutput=[1,1,0,1,0,1,1,0,0,0]\r\n\r\nkindly see this problem for understanding\r\n\u003chttps://www.mathworks.com/matlabcentral/cody/problems/45236-queen-s-move\u003e\r\n","description_html":"\u003cp\u003eIn continuation with the problem-45236 ... \r\nIn the previous problem, it was assumed that there were no other chess pieces on the board... Now lets assume there is a number of king present on the board whose location is given in an array \u003cb\u003ep\u003c/b\u003e . Now, check for the validity of Queen's moves.\u003c/p\u003e\u003col\u003e\u003cli\u003ex={'Qd1','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7','Qh7'}\u003c/li\u003e\u003cli\u003ep={'Kd4','Ke5','Kh7','Ke7'}\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eoutput=[1,1,0,1,0,1,1,0,0,0]\u003c/p\u003e\u003cp\u003ekindly see this problem for understanding \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45236-queen-s-move\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45236-queen-s-move\u003c/a\u003e\u003c/p\u003e","function_template":"function z = Queen_move_3(x,p)\r\n  y = x;\r\nend","test_suite":"%%\r\nx={'Qd1','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7','Qh7'};\r\np={'Kd4','Ke5','Kh7','Ke7'};\r\ny_correct = [1,1,0,1,0,1,1,0,0,0];\r\nassert(isequal(Queen_move_3(x,p),y_correct))\r\n\r\n%%\r\nx={'Qd1','Qd5','Qf1','Qa8','Qf7','Qb2','Qc7'};\r\np={'Kd4','Ke5','Kh7','Ke7'};\r\ny_correct = [1,0,1,0,1,0,0];\r\nassert(isequal(Queen_move_3(x,p),y_correct))\r\n\r\n%%\r\nx={'Qh7','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7'};\r\np={'Kd4','Ke5','Kh7','Ke7'};\r\ny_correct = [0,0,0,0,0,0,0,0,0];\r\nassert(isequal(Queen_move_3(x,p),y_correct))\r\n\r\n%%\r\nx={'Qh7','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7'};\r\np={'Ka8','Kb2','Kd7','Kf3','Kg6'};\r\ny_correct = [1,1,1,0,0,0,0,0,0];\r\nassert(isequal(Queen_move_3(x,p),y_correct))\r\n\r\n%%\r\nx={'Qh7','Qh1','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7','Qg2','Qg7','Qf1','Qf7','Qf2','Qa2'};\r\np={'Ka8','Kb2','Kd7','Kf3','Kg6'};\r\ny_correct = [1,1,0,0,0,0,0,0,1,0,1,0,1,0];\r\nassert(isequal(Queen_move_3(x,p),y_correct))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-20T23:00:44.000Z","updated_at":"2026-01-23T12:47:14.000Z","published_at":"2019-12-20T23:01:21.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:t\u003eIn continuation with the problem-45236 ... In the previous problem, it was assumed that there were no other chess pieces on the board... Now lets assume there is a number of king present on the board whose location is given in an array\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\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e . Now, check for the validity of Queen's moves.\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=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ex={'Qd1','Qh1','Qh8','Qd5','Qg5','Qc5','Qa7','Qf2','Qe7','Qh7'}\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=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ep={'Kd4','Ke5','Kh7','Ke7'}\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\u003eoutput=[1,1,0,1,0,1,1,0,0,0]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ekindly see this problem for understanding\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45236-queen-s-move\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45236-queen-s-move\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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":45238,"title":"Checkmate","description":"* The positions of different chess pieces are given in a cell  *p* . \r\n* The position of the king is given as *x*\r\n\r\nDetermine if the opponent king is in check for individual scenerios.\r\n\r\n* x='Kg7'\r\n* p={'Qe5','Qg5','Qb5','Qa7'}\r\n\r\noutput= [1,1,0,1]\r\n\r\nN.b.any invalid position should produce 0.\r\nu may imagine p as the white pieces and x as the black king for clarity.","description_html":"\u003cul\u003e\u003cli\u003eThe positions of different chess pieces are given in a cell  \u003cb\u003ep\u003c/b\u003e .\u003c/li\u003e\u003cli\u003eThe position of the king is given as \u003cb\u003ex\u003c/b\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eDetermine if the opponent king is in check for individual scenerios.\u003c/p\u003e\u003cul\u003e\u003cli\u003ex='Kg7'\u003c/li\u003e\u003cli\u003ep={'Qe5','Qg5','Qb5','Qa7'}\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eoutput= [1,1,0,1]\u003c/p\u003e\u003cp\u003eN.b.any invalid position should produce 0.\r\nu may imagine p as the white pieces and x as the black king for clarity.\u003c/p\u003e","function_template":"function y=checkmate(x,p)\r\n  y = x;\r\nend","test_suite":"%%\r\nx='Kg7';\r\np={'Qe5','Qg5','Qb5','Qa7'}\r\ny_correct = [1,1,0,1];\r\nassert(isequal(checkmate(x,p),y_correct))\r\n\r\n%%\r\nx='Kg7';\r\np={'Qe5','Rg5','Bb5','Na7','h6'}\r\ny_correct = [1,1,0,0,1];\r\nassert(isequal(checkmate(x,p),y_correct))\r\n\r\n%%\r\nx='Ka3';\r\np={'Qe5','Rg5','Bb5','Na7','h6'}\r\ny_correct = [0,0,0,0,0];\r\nassert(isequal(checkmate(x,p),y_correct))\r\n\r\n%%\r\nx='Ka3';\r\np={'a2','Rg5','Be7','Nc4','Nb1'}\r\ny_correct = [0,0,1,1,1];\r\nassert(isequal(checkmate(x,p),y_correct))\r\n\r\n%%\r\nx='Ka3';\r\np={'a2','Rg5','Be7','Nc5','Kb2'}\r\ny_correct = [0,0,1,0,0];\r\nassert(isequal(checkmate(x,p),y_correct))\r\n\r\n%%\r\nx='Kf2';\r\np={'Ra2','Rg5','Bh4','Bg1','Nd3','Kf3','Ng1','e1','Qg4','Qf7'}\r\ny_correct = [1,0,1,1,1,0,0,0,0,1];\r\nassert(isequal(checkmate(x,p),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-21T00:09:28.000Z","updated_at":"2026-01-23T12:59:27.000Z","published_at":"2019-12-21T00:12:53.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\u003eThe positions of different chess pieces are given in a cell \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\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e .\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe position of the king is given as\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\u003ex\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\u003eDetermine if the opponent king is in check for individual scenerios.\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\u003ex='Kg7'\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={'Qe5','Qg5','Qb5','Qa7'}\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\u003eoutput= [1,1,0,1]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eN.b.any invalid position should produce 0. u may imagine p as the white pieces and x as the black king for clarity.\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":45239,"title":"Checkmate-02","description":"This is an extension of the problem \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45238-checkmate\u003e\r\n\r\nIf the king is in check, examine the next move of the king. List all those possible moves by which king can avoid the check by the next move.\r\n\r\nOtherwise 'checkmate'.\r\n\r\n* r = king's location\r\n* p = position of opponent's pieces\r\n\r\n* if the king is currently not in check, then he doesn't need to move. so return empty. \r\n\r\n* for simplicity, assume that the king cannot take out opponent's pieces.\r\n","description_html":"\u003cp\u003eThis is an extension of the problem \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45238-checkmate\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45238-checkmate\u003c/a\u003e\u003c/p\u003e\u003cp\u003eIf the king is in check, examine the next move of the king. List all those possible moves by which king can avoid the check by the next move.\u003c/p\u003e\u003cp\u003eOtherwise 'checkmate'.\u003c/p\u003e\u003cul\u003e\u003cli\u003er = king's location\u003c/li\u003e\u003cli\u003ep = position of opponent's pieces\u003c/li\u003e\u003c/ul\u003e\u003cul\u003e\u003cli\u003eif the king is currently not in check, then he doesn't need to move. so return empty.\u003c/li\u003e\u003c/ul\u003e\u003cul\u003e\u003cli\u003efor simplicity, assume that the king cannot take out opponent's pieces.\u003c/li\u003e\u003c/ul\u003e","function_template":"function pos=checkmate_2(r,p)\r\n  y = x;\r\nend","test_suite":"%%\r\nr = 'Kd4';\r\np={'Qe3','Rh3','Nc1','c6'};\r\npos = {'Kd5','Kc4'};\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kg6';\r\np={'Qe3','Rh3','Nc1','c6','Ke7'};\r\npos = [];\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kc8';\r\np={'Qe3','Rh3','Nc1','c6','Ke7','h5','Ba6'};\r\npos = {'Kc7','Kb8'};\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kh1';\r\np={'Qa3','Rb3','Nf2','c6','Kf7','h5','Ba6'};\r\npos = {'Kh2','Kg2','Kg1'};\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kg6';\r\np={'Qe3','Rh3','Nc1','c6'};\r\npos = [];\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kd4';\r\np={'Rh2','Na1','d1'};\r\npos = [];\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kb2';\r\np={'Na2','Na1','Na3'};\r\npos = [];\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kb2';\r\np={'Na2','Na1','Na3','c1','c3'};\r\npos = [];\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kb2';\r\np={'Na2','Na1','Na3','Bg7' };\r\npos = 'checkmate';\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Kg6';\r\np={'Nf5','Rg1','g4','Qe2','Bf1','Kc3' };\r\npos =  {'Kh7','Kf7','Kf6'};\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nr = 'Ka1';\r\np={'Qa3','Rb3','Nf2','c6','Kf7','h5','Ba6'};\r\npos =  'checkmate';\r\nassert(isequal(checkmate_2(r,p),pos))\r\n\r\n%%\r\nfiletext = fileread('checkmate_2.m');\r\nassert(isempty(strfind(filetext, 'regexp')),'regexp() forbidden')\r\nassert(isempty(strfind(filetext, 'regexprep')),'regexprep() forbidden')\r\nassert(isempty(strfind(filetext, 'strfind')),'strfind() forbidden')\r\nassert(isempty(strfind(filetext, 'strcmp')),'strcmp() forbidden')\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":14,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2019-12-29T04:16:28.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2019-12-21T01:40:07.000Z","updated_at":"2026-01-23T13:22:55.000Z","published_at":"2019-12-21T21:38:46.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:t\u003eThis is an extension of the problem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45238-checkmate\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45238-checkmate\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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\u003eIf the king is in check, examine the next move of the king. List all those possible moves by which king can avoid the check by the next move.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOtherwise 'checkmate'.\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\u003er = king's location\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 = position of opponent's pieces\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\u003eif the king is currently not in check, then he doesn't need to move. so return empty.\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\u003efor simplicity, assume that the king cannot take out opponent's pieces.\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":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":45329,"title":"Castling-01","description":"Given the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\r\n\r\n\u003chttps://en.wikipedia.org/wiki/Castling\u003e","description_html":"\u003cp\u003eGiven the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\u003c/p\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Castling\"\u003ehttps://en.wikipedia.org/wiki/Castling\u003c/a\u003e\u003c/p\u003e","function_template":"function y = castling_01(a)\r\n  y = x;\r\nend","test_suite":"%%\r\na={'Ra1','Ka7'}\r\nassert(isequal(castling_01(a),0))\r\n%%\r\na={'Ra1','Rh1'}\r\nassert(isequal(castling_01(a),0))\r\n%%\r\na={'Ra1','Rh1','Kh8'}\r\nassert(isequal(castling_01(a),0))\r\n%%\r\na={'Ra1','Rc1','Kh5'}\r\nassert(isequal(castling_01(a),0))\r\n%%\r\na={'Ra1','Rh1','Ke1'}\r\nassert(isequal(castling_01(a),1))\r\n%%\r\na={'Ra1','Rh1','Ke1'}\r\nassert(isequal(castling_01(a),1))\r\n%%\r\na={'Rh1','Ke1'}\r\nassert(isequal(castling_01(a),1))\r\n%%\r\na={'Rh5','Ke5'}\r\nassert(isequal(castling_01(a),0))\r\n%%\r\na={'Ra8','Ke8'}\r\nassert(isequal(castling_01(a),1))\r\n%%\r\na={'Rd8','Rh8','Ke8'}\r\nassert(isequal(castling_01(a),1))\r\n%%\r\na={'Rh8','Kd8'}\r\nassert(isequal(castling_01(a),0))","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":16,"test_suite_updated_at":"2020-02-15T23:25:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-15T12:59:18.000Z","updated_at":"2026-01-23T13:34:49.000Z","published_at":"2020-02-15T23:08:34.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:t\u003eGiven the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\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:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Castling\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Castling\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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":45330,"title":"Castling-02","description":"This is a follow up of problem \r\n\r\n\u003chttps://www.mathworks.com/matlabcentral/cody/groups/1/problems/45329-castling-01\u003e\r\n\r\n\r\nGiven the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\r\n\r\n\u003chttps://en.wikipedia.org/wiki/Castling\u003e","description_html":"\u003cp\u003eThis is a follow up of problem\u003c/p\u003e\u003cp\u003e\u003ca href = \"https://www.mathworks.com/matlabcentral/cody/groups/1/problems/45329-castling-01\"\u003ehttps://www.mathworks.com/matlabcentral/cody/groups/1/problems/45329-castling-01\u003c/a\u003e\u003c/p\u003e\u003cp\u003eGiven the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\u003c/p\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Castling\"\u003ehttps://en.wikipedia.org/wiki/Castling\u003c/a\u003e\u003c/p\u003e","function_template":"function tf=castling_02(a)\r\n  y = x;\r\nend","test_suite":"%%\r\na={'Rd1','Rh1','Ke1'}\r\nassert(isequal(castling_02(a),1))\r\n%%\r\na={'Rd1','Rd4','Ke1','Bb6'}\r\nassert(isequal(castling_02(a),0))\r\n%%\r\na={'d1','Rh8','Kg1'}\r\nassert(isequal(castling_02(a),0))\r\n%%\r\na={'Ra1','Rh1','Ke1','Qd1'}\r\nassert(isequal(castling_02(a),1))\r\n%%\r\na={'Ra1','Rh1','Ke1','Qd1','Bg1'}\r\nassert(isequal(castling_02(a),0))\r\n%%\r\na={'Ba2','Ra1','Rb1','Ke1','Bg1'}\r\nassert(isequal(castling_02(a),0))\r\n%%\r\na={'Na1','Rh1','Ke1','Qd1'}\r\nassert(isequal(castling_02(a),1))\r\n%%\r\na={'Kd1','Qe1','Rh1','Rd8','a4','Nf2'}\r\nassert(isequal(castling_02(a),0))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-15T23:34:53.000Z","updated_at":"2026-01-23T13:53:26.000Z","published_at":"2020-02-15T23:38:28.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:t\u003eThis is a follow up of problem\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:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/groups/1/problems/45329-castling-01\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/groups/1/problems/45329-castling-01\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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\u003eGiven the position of only one player's chess pieces(some of them) on the chessboard, figure out whether castling is valid or not.\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:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Castling\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Castling\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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":45332,"title":"Castling-03","description":"Given the position of different chess pieces on the chessboard, figure out whether castling is valid or not in the next move (white king).\r\n\r\n* a=position of white pieces\r\n* b=position of black pieces\r\n\r\n\u003chttps://en.wikipedia.org/wiki/Castling\u003e\r\n\r\nPrevious problem \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45330-castling-02#\u003e\r\n\r\n\r\n","description_html":"\u003cp\u003eGiven the position of different chess pieces on the chessboard, figure out whether castling is valid or not in the next move (white king).\u003c/p\u003e\u003cul\u003e\u003cli\u003ea=position of white pieces\u003c/li\u003e\u003cli\u003eb=position of black pieces\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Castling\"\u003ehttps://en.wikipedia.org/wiki/Castling\u003c/a\u003e\u003c/p\u003e\u003cp\u003ePrevious problem \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45330-castling-02#\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45330-castling-02#\u003c/a\u003e\u003c/p\u003e","function_template":"function tf=castling_03(a,b)\r\n  y = x;\r\nend","test_suite":"%%\r\na={'Rd1','Rh1','Ke1'}\r\n b={'Nc6','Bg1','g5','Rh8'}\r\nassert(isequal(castling_03(a,b),0))\r\n\r\n%%\r\na={'Rd1','Rh1','Ke1'}\r\nb={'Nc6','d3','g5','Rh8','Qb8'}\r\nassert(isequal(castling_03(a,b),1))\r\n\r\n%%\r\na={'Qe1','Rh1','Kd2','Nf7'}\r\nb={'Nc6','d3','g5','Rh8','Qb8'}\r\nassert(isequal(castling_03(a,b),0))\r\n\r\n%%\r\na={'Qe1','Rh1','Kd2','Nf7'}\r\nb={'Nc6','d3','g5','Rh8','Qc1'}\r\nassert(isequal(castling_03(a,b),0))\r\n\r\n%%\r\na={'Qf1','Rh1','Ra1','Ke1'}\r\nb={'Ng1','h3','Rg5','Nb1','Qa8'}\r\nassert(isequal(castling_03(a,b),0))\r\n\r\n%%\r\na={'Qf1','Rh1','Ra1','Ke1'}\r\nb={'Ng1','h3','Rg5','Nb5','Qa8'}\r\nassert(isequal(castling_03(a,b),1))\r\n\r\n%%\r\na={'Qf1','Rh1','Ra1','Ke1'}\r\n b={'Ba8','Bg7','Rh6','Rb2'}\r\nassert(isequal(castling_03(a,b),1))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":3,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-16T12:59:11.000Z","updated_at":"2026-01-23T14:02:57.000Z","published_at":"2020-02-16T13:24:25.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:t\u003eGiven the position of different chess pieces on the chessboard, figure out whether castling is valid or not in the next move (white king).\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\u003ea=position of white pieces\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\u003eb=position of black pieces\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:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Castling\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Castling\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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\u003ePrevious problem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45330-castling-02#\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45330-castling-02#\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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":45336,"title":"chess position","description":"given the position of a chess piece in algebric notation, convert it into 8 by 8 matrix format. For example,\r\n\r\n* 'Qd5' \u003e\u003e [3,4]\r\n\r\nNb. invalid ones should be represented by nan.\r\n","description_html":"\u003cp\u003egiven the position of a chess piece in algebric notation, convert it into 8 by 8 matrix format. For example,\u003c/p\u003e\u003cul\u003e\u003cli\u003e'Qd5' \u0026gt;\u0026gt; [3,4]\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eNb. invalid ones should be represented by nan.\u003c/p\u003e","function_template":"function a = chess_pos(pos)\r\n  y = x;\r\nend","test_suite":"%%\r\npos={'Qe5','Rb2'}\r\na=[4,1;4,1]\r\nassert(isequal(chess_pos(pos),a))\r\n\r\n%%\r\npos={'a5','Nb8'}\r\na=[0,1;4,7]\r\nassert(isequal(chess_pos(pos),a))\r\n\r\n%%\r\npos={'Ng8'}\r\na=[6;7]\r\nassert(isequal(chess_pos(pos),a))\r\n\r\n%%\r\npos={'f1','Qb1','Bd9','c3','Rg7'}\r\na=[  5     1   NaN     2     6;\r\n     0     0   NaN     2     6]\r\nassert(isequaln(chess_pos(pos),a))\r\n\r\n%%\r\npos={'k1','Kc3','Rh9'}\r\na= [NaN     2   NaN\r\n   NaN     2   NaN]\r\nassert(isequaln(chess_pos(pos),a))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":"2020-02-17T05:55:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-16T23:12:04.000Z","updated_at":"2026-01-23T14:06:55.000Z","published_at":"2020-02-17T05:55:18.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:t\u003egiven the position of a chess piece in algebric notation, convert it into 8 by 8 matrix format. For example,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e'Qd5' \u0026gt;\u0026gt; [3,4]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNb. invalid ones should be represented by nan.\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":45418,"title":"En passant - 01","description":"This is white's turn. The player moves his pawn.\r\n\r\nThe pawn's previous and current positions are given.\r\n\r\nDetermine whether the move was valid.\r\n\r\n pawn's previous pos = 'b2'\r\n pawn's previous pos = 'c3'\r\n\r\nSo this is a valid move provided there was an opponent piece on c3.\r\n\r\nBut for now, just check the validity of the move. Opponent's pieces will be added in the next problem.\r\n\r\n\u003chttps://en.wikipedia.org/wiki/Chess#Movement\u003e\r\n","description_html":"\u003cp\u003eThis is white's turn. The player moves his pawn.\u003c/p\u003e\u003cp\u003eThe pawn's previous and current positions are given.\u003c/p\u003e\u003cp\u003eDetermine whether the move was valid.\u003c/p\u003e\u003cpre\u003e pawn's previous pos = 'b2'\r\n pawn's previous pos = 'c3'\u003c/pre\u003e\u003cp\u003eSo this is a valid move provided there was an opponent piece on c3.\u003c/p\u003e\u003cp\u003eBut for now, just check the validity of the move. Opponent's pieces will be added in the next problem.\u003c/p\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Chess#Movement\"\u003ehttps://en.wikipedia.org/wiki/Chess#Movement\u003c/a\u003e\u003c/p\u003e","function_template":"function tf = en_passant(w1,w2)","test_suite":"%%\r\nassert(isequal(en_passant('b2','c3'),1))\r\n%%\r\nassert(isequal(en_passant('a2','a3'),1))\r\n%%\r\nassert(isequal(en_passant('d3','d5'),0))\r\n%%\r\nassert(isequal(en_passant('e5','d4'),0))\r\n%%\r\nassert(isequal(en_passant('e5','c6'),0))\r\n%%\r\nassert(isequal(en_passant('e5','d6'),1))\r\n%%\r\nassert(isequal(en_passant('b2','b4'),1))\r\n%%\r\nassert(isequal(en_passant('b2','c2'),0))\r\n%%\r\nassert(isequal(en_passant('a1','a2'),0))\r\n%%\r\nassert(isequal(en_passant('g7','g8'),1))\r\n%%\r\nassert(isequal(en_passant('g7','g6'),0))\r\n%%\r\nassert(isequal(en_passant('f5','h6'),0))\r\n\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":17,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-02T03:21:50.000Z","updated_at":"2026-01-23T14:14:44.000Z","published_at":"2020-04-02T03:23:17.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:t\u003eThis is white's turn. The player moves his pawn.\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 pawn's previous and current positions are given.\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\u003eDetermine whether the move was valid.\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[ pawn's previous pos = 'b2'\\n pawn's previous pos = 'c3']]\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\u003eSo this is a valid move provided there was an opponent piece on c3.\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\u003eBut for now, just check the validity of the move. Opponent's pieces will be added in the next problem.\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:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Chess#Movement\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Chess#Movement\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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":45427,"title":"King's Cage","description":"Given the position of the king on the chessboard, determine the minimum number of steps it'll require to reach the destination.\r\n\r\n\u003chttps://en.wikipedia.org/wiki/Chess#Movement\u003e\r\n\r\nFor simplicity, numerical notation is used to represent the positions.","description_html":"\u003cp\u003eGiven the position of the king on the chessboard, determine the minimum number of steps it'll require to reach the destination.\u003c/p\u003e\u003cp\u003e\u003ca href = \"https://en.wikipedia.org/wiki/Chess#Movement\"\u003ehttps://en.wikipedia.org/wiki/Chess#Movement\u003c/a\u003e\u003c/p\u003e\u003cp\u003eFor simplicity, numerical notation is used to represent the positions.\u003c/p\u003e","function_template":"function i = king(x,y)","test_suite":"%%\r\nx=[1,1];\r\ny=[5,5];\r\nassert(isequal( king(x,y),4))\r\n\r\n%%\r\nx=[6,6];\r\ny=[2,3];\r\nassert(isequal( king(x,y),4))\r\n\r\n%%\r\nx=[5,1];\r\ny=[5,5];\r\nassert(isequal( king(x,y),4))\r\n\r\n%%\r\nx=[2,3];\r\ny=[8,8];\r\nassert(isequal( king(x,y),6))\r\n\r\n%%\r\nx=[2,8];\r\ny=[7,1];\r\nassert(isequal( king(x,y),7))\r\n\r\n%%\r\nx=[1,4];\r\ny=[8,3];\r\nassert(isequal( king(x,y),7))\r\n\r\n\r\n%%\r\nx=[5,8];\r\ny=[5,8];\r\nassert(isequal( king(x,y),0))\r\n\r\n\r\n%%\r\nx=[1,4];\r\ny=[3,4];\r\nassert(isequal( king(x,y),2))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-07T06:55:52.000Z","updated_at":"2026-03-16T10:45:46.000Z","published_at":"2020-04-07T06:55:52.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:t\u003eGiven the position of the king on the chessboard, determine the minimum number of steps it'll require to reach the destination.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Chess#Movement\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Chess#Movement\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\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\u003eFor simplicity, numerical notation is used to represent the positions.\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\"}]}"}],"no_progress_badge":{"id":53,"name":"Unknown","symbol":"unknown","description":"Partially completed groups","description_html":null,"image_location":"/images/responsive/supporting/matlabcentral/cody/badges/problem_groups_unknown_2.png","bonus":null,"players_count":0,"active":false,"created_by":null,"updated_by":null,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"created_at":"2018-01-10T23:20:29.000Z","updated_at":"2018-01-10T23:20:29.000Z","community_badge_id":null,"award_multiples":false}}