{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":54345,"title":"Fill a rectangle with 1x1 and 2x2 tiles","description":"A 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\r\n\r\nThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\r\n\r\nWrite a function to count the ways that a 3x rectangle can be filled. ","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: 468.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 234.15px; transform-origin: 407px 234.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; 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: 201.883px 7.50833px; transform-origin: 201.883px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 124.65px; 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 62.325px; text-align: left; transform-origin: 384px 62.325px; 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: 264px;height: 119px\" src=\"data:image/png;base64,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\" alt=\"Tilings of a 3x2 rectangle\" data-image-state=\"image-loaded\" width=\"264\" height=\"119\"\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: 354.742px 7.50833px; transform-origin: 354.742px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 244.65px; 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 122.325px; text-align: left; transform-origin: 384px 122.325px; 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: 395px;height: 239px\" src=\"data:image/png;base64,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\" alt=\"Tilings of a 3x3 rectangle\" data-image-state=\"image-loaded\" width=\"395\" height=\"239\"\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: 133.658px 7.50833px; transform-origin: 133.658px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to count the ways that a 3x\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: 73.9083px 7.50833px; transform-origin: 73.9083px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e rectangle can be filled. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = fillRectangle(n)\r\n  y = 2*n-1;\r\nend","test_suite":"%%\r\nn = 1;\r\ny_correct = 1;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 2;\r\ny_correct = 3;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 3;\r\ny_correct = 5;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 5;\r\ny_correct = 21;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 8;\r\ny_correct = 171;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 13;\r\ny_correct = 5461;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 21;\r\ny_correct = 1398101;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 34;\r\ny_correct = 11453246123;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 50;\r\ny_correct = 750599937895083;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = randi(30);\r\ny1 = fillRectangle(n);\r\ny2 = fillRectangle(n+1);\r\nassert(isequal(log2(y1+y2),n+1))\r\n\r\n%%\r\nfiletext = fileread('fillRectangle.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext, 'read'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":46909,"edited_by":46909,"edited_at":"2022-04-23T00:39:35.000Z","deleted_by":null,"deleted_at":null,"solvers_count":20,"test_suite_updated_at":"2022-04-22T04:50:46.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-04-22T04:33:33.000Z","updated_at":"2026-01-15T18:25:04.000Z","published_at":"2022-04-22T04:47:56.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\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=\\\"119\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"264\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Tilings of a 3x2 rectangle\\\"/\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\u003eThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\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=\\\"239\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"395\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Tilings of a 3x3 rectangle\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\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\u003eWrite a function to count the ways that a 3x\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 rectangle can be filled. \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\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image2.png\",\"relationshipId\":\"rId2\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image2.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":781,"title":"Access a web hosted copy of the Tiles Contest MAT file","description":"Access a web hosted copy of the Tiles Contest sample \"mat\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\r\n\r\nDetails of the Tiles Contest can be found at \u003chttp://www.mathworks.com/matlabcentral/contest/contests/36 Tiles Contest\u003e.\r\n\r\nThe runcontest.m provides testsuite structure information.\r\n\r\n*Input:* (urlfname, board)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx'\r\n\r\n*Output:* (number of tiles, nrows, ncols)\r\n\r\nFor board 99\r\n\r\n[ 20 10 8 ]\r\n\r\n\r\n\r\nNote: The mat file is a very efficiently packed binary file.\r\n\r\nFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards","description_html":"\u003cp\u003eAccess a web hosted copy of the Tiles Contest sample \"mat\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\u003c/p\u003e\u003cp\u003eDetails of the Tiles Contest can be found at \u003ca href=\"http://www.mathworks.com/matlabcentral/contest/contests/36\"\u003eTiles Contest\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe runcontest.m provides testsuite structure information.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e (urlfname, board)\u003c/p\u003e\u003cp\u003efn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx'\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e (number of tiles, nrows, ncols)\u003c/p\u003e\u003cp\u003eFor board 99\u003c/p\u003e\u003cp\u003e[ 20 10 8 ]\u003c/p\u003e\u003cp\u003eNote: The mat file is a very efficiently packed binary file.\u003c/p\u003e\u003cp\u003eFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards\u003c/p\u003e","function_template":"function out = access_url_mat(urlfname,brd)\r\n \r\n %tiles=tests.testsuite(brd).tiles;\r\n\r\n ntiles=1;nrow=1;ncol=1;\r\n \r\n out=[ntiles nrow ncol];\r\n\r\nend","test_suite":"%%\r\n% Cody External accessibility\r\ny=clock;\r\nrand('state',floor(10000*y(6)))\r\nbrd=randi(100,1)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx';\r\n\r\nfn='http://tinyurl.com/matlab-tiles-mat';\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\ntests = load(testSuiteFile,'testsuite');\r\n\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\n\r\nexpected=[size(tiles,1) rows cols]\r\n\r\nout=access_url_mat(fn,brd)\r\n\r\nassert(isequal(out,expected))\r\n%%\r\nbrd=randi(100,1)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx';\r\n\r\nfn='http://tinyurl.com/matlab-tiles-mat';\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\ntests = load(testSuiteFile,'testsuite');\r\n\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\n\r\nexpected=[size(tiles,1) rows cols]\r\n\r\nout=access_url_mat(fn,brd)\r\n\r\nassert(isequal(out,expected))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2012-11-22T12:22:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-06-21T04:54:17.000Z","updated_at":"2025-10-25T08:50:10.000Z","published_at":"2012-06-22T04:40:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAccess a web hosted copy of the Tiles Contest sample \\\"mat\\\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\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\u003eDetails of the Tiles Contest can be found at\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://www.mathworks.com/matlabcentral/contest/contests/36\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles Contest\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe runcontest.m provides testsuite structure information.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (urlfname, board)\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\u003efn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u0026amp;6cq_kc2=yae1d8\u0026amp;6cq_konmpb=y88ayxyx8xxy1xdyx'\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (number of tiles, nrows, ncols)\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 board 99\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\u003e[ 20 10 8 ]\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\u003eNote: The mat file is a very efficiently packed binary file.\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\u003eFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards\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":788,"title":"Tiles Contest: Perfect Solutions for Large Unique Tile  Boards","description":"*Tiles Contest:* The Large Unique Boards/Tiles that perfectly solve (50x50)\r\n\r\nReturn Perfect solutions for both boards. Scoring will be based upon size and time.\r\n\r\nSample \"Board 59\" and Actual(Contest) \"Board 6\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\r\n\r\nThe complete description of \u003chttp://www.mathworks.com/matlabcentral/contest/contests/36/rules Tiles\u003e explains what is a tile, orientation, and board output.\r\n\r\n*Input:* (boardsize, tiles)\r\n\r\n*Output:* (board, orientation)\r\n\r\n*Passing:* Two Perfect Boards.\r\n\r\n*Scoring:* Based upon Size/10 and Average Time(msec) of solutions.\r\n\r\n\r\nThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\r\n\r\n\r\n\r\nThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics.  There are multiple perfect solution boards which were not solved during the contest.\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: 333px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 166.5px; transform-origin: 407px 166.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; 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: 46.15px 7.91667px; transform-origin: 46.15px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTiles Contest:\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: 184.517px 7.91667px; transform-origin: 184.517px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e The Large Unique Boards/Tiles that perfectly solve (50x50)\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: 256.35px 7.91667px; transform-origin: 256.35px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn Perfect solutions for both boards. Scoring will be based upon size and time.\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: 370.917px 7.91667px; transform-origin: 370.917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSample \"Board 59\" and Actual(Contest) \"Board 6\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\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: 87.9167px 7.91667px; transform-origin: 87.9167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe complete description of \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://web.archive.org/web/20150224170744/http://www.mathworks.com/matlabcentral/contest/contests/36/rules\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTiles_wayback\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/contest/contests/36/rules\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTiles\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: 163.383px 7.91667px; transform-origin: 163.383px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e explains what is a tile, orientation, and board output.\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: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 53.3px 7.91667px; transform-origin: 53.3px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (boardsize, tiles)\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: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\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: 61.0833px 7.91667px; transform-origin: 61.0833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (board, orientation)\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: 29.1667px 7.91667px; transform-origin: 29.1667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ePassing:\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: 64.95px 7.91667px; transform-origin: 64.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Two Perfect Boards.\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: 28.3833px 7.91667px; transform-origin: 28.3833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eScoring:\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: 184px 7.91667px; transform-origin: 184px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Based upon Size/10 and Average Time(msec) of solutions.\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: 349.283px 7.91667px; transform-origin: 349.283px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\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: 380.933px 7.91667px; transform-origin: 380.933px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics. There are multiple perfect solution boards which were not solved during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [board,orientation]=board_perfect(boardSize,tiles);\r\n  board=zeros(boardSize);\r\n  numtiles=size(tiles,1);\r\n  orientation=ones(numtiles,1);\r\n\r\n%Hint to help solve the board - This was a major contest innovation\r\n % te  Tiles expanded format 4*tiles, 4\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])]; % 4*numtiles x 4\r\n \r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',2000);\r\n%%\r\nformat short\r\nformat compact\r\n\r\nglobal net_time\r\n\r\n%fn='http://tinyurl.com/zapor-Tiles-sample-mat'; \r\n%fn='http://tinyurl.com/matlab-tiles-mat';\r\n%testsuite_sample.mat\r\nfn='https://sites.google.com/site/razapor/matlab_cody/testsuite_Tiles_sample.mat?attredirects=0\u0026d=1';\r\n\r\n\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\nbrd=59;\r\ntests = load(testSuiteFile,'testsuite');\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\nboardSize = [rows, cols];\r\n\r\n[board,orientation]=board_perfect(boardSize,tiles); % run twice for timing\r\nt0=clock;\r\n[board,orientation]=board_perfect(boardSize,tiles);\r\ndt=etime(clock,t0)*1e3;\r\n\r\n% verify score\r\n t=tiles;\r\n ntiles=size(tiles,1);\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])];\r\n \r\n % build check arrays UD, LR\r\n LR=zeros(rows,2*cols);\r\n UD=zeros(2*rows,cols);\r\n for r=1:rows\r\n  for c=1:cols\r\n   tptr=board(r,c);\r\n   tor=orientation(tptr);\r\n   UD(2*r-1,c)=te(tptr+ntiles*(tor-1),1);\r\n   UD(2*r,c)=te(tptr+ntiles*(tor-1),3);\r\n   LR(r,2*c-1)=te(tptr+ntiles*(tor-1),4);\r\n   LR(r,2*c)=te(tptr+ntiles*(tor-1),2);\r\n  end\r\n end\r\n checksum=sum([LR(:,1)' LR(:,end)' UD(1,:) UD(end,:)]);\r\n for idx=2:2:2*rows-2 % LR Square array assumed here\r\n  checksum=checksum+sum(LR(:,idx)-LR(:,idx+1))+sum(UD(idx,:)-UD(idx+1,:));\r\n end\r\n\r\n\r\nassert(checksum==0,sprintf('Checksum = %s\\n',num2str(checksum)));\r\nnet_time=dt\r\n%%\r\nglobal net_time\r\ntemp=net_time; % anti-cheat\r\n\r\n%fn='http://tinyurl.com/zapor-Tiles-contest-mat';\r\n%fn='http://tinyurl.com/matlab-tilesC-mat';\r\n%testsuite_actual.mat\r\nfn='https://sites.google.com/site/razapor/matlab_cody/testsuite_Tiles_contest.mat?attredirects=0\u0026d=1';\r\n\r\n\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\nbrd=6;\r\ntests = load(testSuiteFile,'testsuite');\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\nboardSize = [rows, cols];\r\n\r\n[board,orientation]=board_perfect(boardSize,tiles); % run twice for timing\r\nt0=clock;\r\n[board,orientation]=board_perfect(boardSize,tiles);\r\ndt=etime(clock,t0)*1e3\r\n\r\n% verify score\r\n t=tiles;\r\n ntiles=size(tiles,1);\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])];\r\n \r\n % build check arrays UD, LR\r\n LR=zeros(rows,2*cols);\r\n UD=zeros(2*rows,cols);\r\n for r=1:rows\r\n  for c=1:cols\r\n   tptr=board(r,c);\r\n   tor=orientation(tptr);\r\n   UD(2*r-1,c)=te(tptr+ntiles*(tor-1),1);\r\n   UD(2*r,c)=te(tptr+ntiles*(tor-1),3);\r\n   LR(r,2*c-1)=te(tptr+ntiles*(tor-1),4);\r\n   LR(r,2*c)=te(tptr+ntiles*(tor-1),2);\r\n  end\r\n end\r\n checksum=sum([LR(:,1)' LR(:,end)' UD(1,:) UD(end,:)]);\r\n for idx=2:2:2*rows-2 % LR Square array assumed here\r\n  checksum=checksum+sum(LR(:,idx)-LR(:,idx+1))+sum(UD(idx,:)-UD(idx+1,:));\r\n end\r\n\r\n\r\nassert(checksum==0,sprintf('Checksum = %s\\n',num2str(checksum)));\r\nnet_time=(dt+temp)/2\r\n%%\r\nglobal net_time\r\n\r\n% Limit Score to 2000 for graph quality\r\nt=mtree('board_perfect.m','-file');\r\nscr=floor(length(t.nodesize)/10+net_time);\r\nscr=min(scr,2000)\r\n\r\nfeval(@assignin,'caller','score',floor(scr));\r\n\r\n\r\n%fh=fopen('board_perfect.m','wt');\r\n%fprintf(fh,'%s\\n',repmat('1;',[1,round(scr/2)]));\r\n%fclose(fh);\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":1,"test_suite_updated_at":"2020-10-08T17:49:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-06-25T01:21:51.000Z","updated_at":"2025-05-05T20:22:13.000Z","published_at":"2012-06-26T18:09:51.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTiles Contest:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The Large Unique Boards/Tiles that perfectly solve (50x50)\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\u003eReturn Perfect solutions for both boards. Scoring will be based upon size and time.\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\u003eSample \\\"Board 59\\\" and Actual(Contest) \\\"Board 6\\\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe complete description of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://web.archive.org/web/20150224170744/http://www.mathworks.com/matlabcentral/contest/contests/36/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles_wayback\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\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/contest/contests/36/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e explains what is a tile, orientation, and board output.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (boardsize, tiles)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (board, orientation)\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\u003ePassing:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Two Perfect Boards.\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\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Based upon Size/10 and Average Time(msec) of solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics. There are multiple perfect solution boards which were not solved during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":54345,"title":"Fill a rectangle with 1x1 and 2x2 tiles","description":"A 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\r\n\r\nThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\r\n\r\nWrite a function to count the ways that a 3x rectangle can be filled. ","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: 468.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 234.15px; transform-origin: 407px 234.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; 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: 201.883px 7.50833px; transform-origin: 201.883px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 124.65px; 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 62.325px; text-align: left; transform-origin: 384px 62.325px; 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: 264px;height: 119px\" src=\"data:image/png;base64,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\" alt=\"Tilings of a 3x2 rectangle\" data-image-state=\"image-loaded\" width=\"264\" height=\"119\"\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: 354.742px 7.50833px; transform-origin: 354.742px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 244.65px; 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 122.325px; text-align: left; transform-origin: 384px 122.325px; 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: 395px;height: 239px\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxYAAAHeCAIAAACJ+AoAAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAB9qSURBVHhe7d1drJ3nVSfw9/hjcqxxHCeEjluQcjwUispXihDpRVHGN4OrmYupRkLxBUJGQVXhFi4QChJEXAQJlZHozE07UzGqas1oBo1GnRhVMw0iF2nFh4METcBgl37glsr5MjrH9bE3+y0vW2F0DuzXzvNorXV+P6HwbF9xOPHe//zf9ay9sVgsBgAA5jg0/W8AANYmQgEAzCZCAQDMJkIBAMwmQgEAzCZCAQDMJkIBAMwmQgEAzCZCAQDMJkIBAMwmQgEAzCZCAQDMJkIBAMwmQgEAzCZCAQDMtrFYLKbjfOd+8/PX3vjG9CKt3TuLf/vub3nskft/6be/MP1RTssf5FM/9b0n/sOvDRcvTn+U2qlTwyc/OZ1r+OIzw/Xkv5rF7vDo7169vvP0f39x+pPkfv7ff///ePHrf3r5K9PrtD72wcemUwHLd7BnnpnO2f3f/zO8/JPDN65NLzNa/q1/4PHhwZ8dPvCB6U+y+/CHh0cfnc735p4i1OmnP7t8M51eZPbEe972o9/94PlPvjy9TuvKU49t/cz54cKF6XVqW1vDlSvTuYaXzw/XPj6d83p88fJX3vixX39+epncMnn8xm//6R9efWV6ndaLv/r+6VTAxz42PPnkdM5u+8rw4plh5+r0MqkH3jec/K/D6dPTy+yefXY4e3Y63xsP8kabRwv9/2FzczpAG29s35pOJRw+vDGdgIPg1KnpcM9EqHJ2KvSCRHb/saPTCSCda2/Zc1URqhwtFI0Va6EI5/Dh6QCxiVDAgXb79t3Pg9LE7dvTAVrwII99eZBHY8Ue5JmFgoPFgzz25UEejRV7kKeFAu6OCAUcaFqocMxC0ZQHeezLgzwaK/YgTwsVjlkomvIgj315kEdj9kIBLIlQ5WihYA4tFBwsHuSxLy0UjbmRR1tmoWjKgzz2pYWiMTfyaMssFEmIUOVooWAOLRRwd0SocrRQNOZGHpCYWSj2pYWiMTfyaMssFE2ZhWJfWiiYQwsVjlkokhChytFC0ZgbeQBLIlQ5WigacyMPSMwsFPvSQsEcWqhwzELRlFko9qWFojE38mjLLBRJiFDlaKFozI08gCURqhwtFMyhhYKDxSwU+9JC0ZgbebRlFoqmzEKxLy0UjbmRR1tmoUhChCpHCwVzaKGAuyNClaOFgjm0UHCwmIViX1ooGjMLRVtmoWjKLBT70kLRmFko2jILRRIiVDlaKJhDCwXcHRGqHC0UjdlODiRmFop9aaFozHZy2jILRVNmodiXFgrm0EKFYxaKJESocrRQNLW97UYewJIIVY4WiqaOHXMjD0jMLBT70kLBHFqocMxC0ZRZKPalhYI5tFDhmIUiCRGqHC0UjZmFAlgSocrRQtGYWSggMbNQ7EsLBXNoocIxC0VTZqHYlxaKxmwnpy2zUCQhQpWjhaKp7W3byQGWRKhytFA0dezYdKhCCwUHi1ko9qWFojE38mjLLBRNmYViX1ooGnMjj7bMQpGECFWOFgrm0EIBd0eEKkcLBXNooeBgMQvFvrRQNLW9bRaKtsxC0ZRZKPalhaKpY8fMQtGWWSiSEKHK0ULBHFoo4O6IUOVooWjMdnIgMbNQ7EsLRWO2k9OWWSiaMgvFvrRQMIcWKhyzUCQhQpWjhaIpN/IAvkmEKkcLRVNu5AGpmYViX1oomEMLFY5ZKJoyC8W+tFAwhxYqHLNQJCFClaOFojGzUABLIlQ5Wiia2t42CwUkZhaKfWmhaOrYselQhRYqHLNQNGUWin1poWjMdnLaMgtFEiJUOVooGrOdHGBJhCpHCwVzaKHgYDELxb60UDRlOzmtmYWiqbduFmpjsfBfYMBM29vTXHmiA8BbSoQCAJjNgzwAgNlEKACA2e7pQd7ppz979XqF+19PvOdtT7z7xL/7xOXpdVpXnnps66vnh69dmF6ntrk1PHZlOtdw7txwIf+vZrF47vKrZz7y4vQyuWc/+H2/8um/fP4vXptep7X48OPTKb+Pf+7a+U++PL1IbvmevPzLkv2D8n3/8oHf/amTw2dPT6+z+4H/N5w8M53vjRZq8sqdKndADrmRF1WVy5LHN+5Mp/weLnW5EOhKhBptHi30/4c79kJFVWVl141Fnb8vXy+1JRToSoQa7dyq81/VdVqonavToQwtVDxaKOCuiVCjzaOHHjxU5VuZyrRQm1vTgWAqtVCVfhZoaLE7HXgTbx+jnVt3zELRXJUHeZVaqEo/SxlffcPjVXIQoUZ1ZqF275iFiqvKgzyzUDT13Q/U+Rds947l1ZWJUKM6s1BHDmmhaM0sFE3VeSZAdSLUqM4s1K6nEoG5kRePWSiaOnHUl1hX5u1jVGcW6sihOg/y3MiLyiwUTVWahXr9VpUHeTcfng68iQg1KjULVeZBXr0beVqoeMxCBVRpFqqOzVenA2/i39RRqb1QhKWFiscsVECVZqGOHNo48cb16QXliFCjUnuhoDGzULC+1+9/aDqlZi/UXrx9jMxC0YO9UPGYhQrIXiiyEKFGZqHoocqDvN0jR6ZTfmahAjILRRb+TR2ZhYqo3o28Ko7s1qn0zUIFZC8UWYhQI7NQEbmRF5VZKFiT7eS1efsY1ZmFWjILFZYbefGYhQqo0izUA5tHrl73nlyWCDWqMwu1ZBYqLC1UPGahAqo0C7W4fXvrIe/JZYlQI7NQ9KCFiscsVECVZqHqbCdnLyLUyCwUrM8sFKzJd+TV5u1jVGoWqox6N/LshYrHLFRAlWahNg4fLjIL5Tvy9iJCjUrNQpUZJ693I89eqHjMQgVkFioi35G3FxFqVGcW6sgh4+S0Zi8UTZmFisgXvOxFhBrVmYXa9VQiMDfy4jELRVNmoWrz9jEyC0UPbuTFYxYqILNQZCFCjUrNQhGWFioes1ABmYUiC9FhZC9URPVu5Gmh4jELFZBZKLIQoUal9kK5kUdjZqFgTWahavP2MSo1C+VGXlj2QsVjFiogs1BkIUKNzELRg71Q8ZiFCsgsFFmIDiOzULA+e6FoyixURLaT70WEGpWahSIsN/LiMQtFU3VmoWwn34u3j5G9UBG5kReVWSiaMgsVke3kexGhRqVmodzIC0sLFY9ZqIDMQpGFCDUqNQvlRl5YWqh4zEIFZBaKLESokVkoWJ9ZKFiTvVC1efsYmYWiB3uh4jELFZBZKLIQoUb2QtGDvVDxmIUKyCwUWYgOI3uhIqp3I68Ke6FoyiwUWYhQo1KzUG7kheVGXjxmoWjKLFRt3j5GpWah3MgLy428eMxCBWQWKiLbyfciQo3MQtGDFioes1ABmYWKyHbyvYgOI7NQ9KCFiscsVEBmoSKynXwvItTIXihYn1koWJNZqNq8fYzshYqo3o08e6HiMQsVkFkoshChRqVmodzIC8teqHjMQgVkFoosRKhRqVkoN/JozF4omjILRRYi1MgsFD24kRePWSiaMgtVm7ePkVkoenAjLx6zUAGZhSILEWpkLxQ9aKHiMQsVkFkoshAdRvZCRVTvRp4WKh6zUAGZhYrIdvK9iFCjUrNQbuTRmFkoWFOdWSjbyffi7WNUahbKjbyw7IWKxyxUQGahIrKdfC8i1MgsFD3YCxWPWaiAzEKRhegwMgsF67MXiqbMQpGFCDWyF4oe3MiLxywUTdkLVZu3j5G9UBG5kReVWSiaMgtFFiLUqNQslBt5YWmh4jELFZBZKLIQoUalZqHcyAtLCxWPWaiAzEKRhQg1MgsF6zMLBWsyC1Wbt4+RWSh6sBcqHrNQAZmFish28r2IUCN7oejBXqh4zEIFZBYqItvJ9yI6jOyFiqjejbwq7IWiKbNQEdlOvhcRalRqFsqNvLDcyIvHLBRNmYWqbWOxcF8AAGCee4tQp08PV0s8bXniieHDPzq8fH56mdcP/9nwk08NFy5ML1Pb2hquXJnONXz+3PC1/L+axxfDpUvDe94zvczu2WeHU78yvPb89DKv5e+liv/1e1/+xf/2R9OL5D79C2d+4j++8JVXtqfXOb3jwWPPntsaP/FrWP6tP3t2Ot8bJfY3jXO+VR7kVZlZLsjKrpg26kzHE02NWah3PHRsOvEPiVArlhrAem7cmA4FHD8+HaCBGrNQt2/XGvg5dWo63DMRasVqTRorM+lfKXZUioPAOq5dmw73TIRa0ULRWJkHeVooWM8rf2PzWGUi1IoWCtZTLHZYeEMzD/5zm8cqE6FWtFA0VuZBXqUWavmzGCeHA8UsVANaKBor8yCvUgvlQR4teZAXkVmoBrRQNKaFCsg4OS15kFebCLWihaIxLVRAWihaqvMdeexFhFrRQsF6tFCwHt+RF5FZqAa0UDRmL1RAWihaMgsVkVmoBrRQNGYvVEBaKFoyC1WbCLWihYL1aKEARKg30ULRmBt5AWmhaMmDvIjMQjWghaIxN/IC0kLRkgd5EZmFakALRWNaqIC0ULRkqUFtItSKForGtFABaaGiubM9HUqw1KA2EWpFCwXr0ULRzqFj06EEs1ARmYVqQAtFY/ZCBaSFoiWzUBGZhWpAC0Vj9kIFpIWipddvLb7ySqlHk7yZCLWihYL1aKFop9ws1DseLPVokjcToVa0UDTmRl5AWqhoas1CEZFZqAa0UDTmRl5AWiga8yAvHLNQDWihaEwLFZAWisY8yCtMhFrRQtGYFiogLVQ0tWahqE2EWtFCwXq0ULRTbhbKg7xwzEI1oIWiMXuhAtJC0ZgHeeGYhWpAC0Vj9kIFpIUC7pYItaKFgvVooWin3CyUB3mFiVArWigacyMvIC1UNOVmoTzIC8csVANaKBpzIy8gLRQcNGahGtBC0ZgWKiAtFC35jrzaRKgVLRSNaaEC0kJFU2sW6p1HbnqQV5gItaKFgvVooWin1izU5d37phNxmIVqQAtFY/ZCBaSFoqUTRzemE3GYhWpAC0Vj9kIFpIWipddvLaYTFYlQK1ooWI8WinZqzUJpoWoToVa0UDTmRl5AWqhoas1CuZEXkVmoBrRQNOZGXkBaKFo6cXTDjbxwzEI1oIWiMS1UQFqoaHzBC3mIUCtaKBrTQgWkhYrGF7yQhwi1ooWC9WihYG1aqHDMQjWghaIxe6EC0kJFU+tB3tsWO1qocMxCNaCFojF7oQLSQkVjOzl5iFArWihYjxYK1mMvVG0i1IoWisbcyAtICxVNrQd59kJFZBaqAS0UjbmRF5AWKppaD/LeeeSmWahwzEI1oIWiMS1UQFooWjILVZsItaKFojEtVEBaqGh8Rx55iFArWihYjxaKdsp9R950Ig6zUA1ooWjMXqiAtFC0pIWKyCxUA1ooGrMXKiAtVDRu5JGHCLWihYL1aKFop9aDvBNHN9zIK0yEWtFC0ZgbeQFpoWhMCxWOWagGtFA05kZeQFqoaGo9yFvSQoVjFqoBLRSNaaEC0kJFU+tB3pIWqjARakULRWNaqIC0UDSmhSpMhFrRQsF6tFC0U+5BHuGYhWpAC0Vj9kIFpIWKptaDvLctdjzIC8csVANaKBqzFyogLRQtXd69z4O8wkSoFS0UrEcLRTu+I488RKgVLRSNuZEXkBYqmnI38gjHLFQDWigacyMvIC0UjZmFCscsVANaKBrTQgWkhYrGak3yEKFWtFA0poUKSAsVjQd55LGxWCym4124dGkqxE6dyn3Y3By+65Hh9RfGl3kdeXA4/ujw0kvD1avr/uCRD8t/Pvro+LKM7cvj//yzU8M3rg2H7pv+MJ2TZ4bt7eF3fmcMHzdu/NO/x+CHra3hyNVh95XxZWrL30sVl7++/eprUxf15Ve2v+3vW5yM5x86fez3rqTv1R75F/d/6/Gjw8WL44s1/2ZFPpw9O57fCvcWoYD1LZPHsW++sa4OwH7ubO/dSGX/cwoRoQAAZjMLBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAwmwgFADCbCAUAMJsIBQAw28ZisZiOVHLpR4bXnp/OeT2+GC5eHN7//ulldleuDF84PZ1TW/5eKjl3brhwYTqntrU1/Mmnh8995/Qyr3d9dPjUMDz55PQyu+Vf/OWvhoq0UNDL5uawmf+dtMCPAPBWEKGgl52dYefqdAYgORGK2I4fnw4F1Gih6qXA5e8FYD4Rithu3JgOBFHvQd7OznQo4ObD0wFoT4QitkotVKWP6koqtVCbr06H7A4fng4QmAhFbFooWhNtA7p9ezpAYCIUsVVqoWowCxXZYnc6ZKeFIgMRitiKtVAF8odZqMg2jkyH7LRQZCBCFVXmndSNPFrTQgWkhSIDEaqoMu+kZqForVILdd+3TYfstFBkIEIRmxt50ZiFiuzml6dDdlooMhChiE0LFY1ZKDrQQpGBCEVsbuTRWqUWqgwtFBmIUMSmhaI1N/IC0kKRgQhVlBt5NGIWKjI38qAjEaooN/JoxCxUZG7kQUciFLFpoWjNjbyAtFBkIEIRmxaK1tzIC0gLRQYiFLFpoaIxC0UHWigyEKGITQsVjVkoOtBCkYEIVZQbebCmUrNQD0+H7LRQZCBCFeVGHqypUgu1+ep0yE4LRQYiFLFpoaIxCxWZvVDQkQhFbFqoaMxCRWY7OXQkQhGbForWtFABaaHIQIQiNi0UrWmhAtJCkYEIVZQbeTRiFioyLRR0JEIV5UYejZiFisx35EFHIhSxaaFordReKN+RB/2IUMSmhaI128kD0kKRgQhFbFqoaMxC0YEWigxEKGLTQkVjFooOtFBkIEIV5UYerKnULJTvyIN+RKii3MiDNVVqoXxHHnQkQhGbFioas1CR2QsFHYlQxKaFisYsVGS2k0NHIhSxaaFoTQsVkBaKDEQoYtNC0ZoWKiAtFBmIUEW5kUcjZqEi00JBRyJUUW7k0YhZqMh8Rx50JEIRmxaK1krthfIdedCPCEVsWihas508IC0UGYhQxKaFisYsFB1oochAhCI2LVQ0ZqHoQAtFBiJUUW7kwZpKzUL5jjzoR4Qqyo08WFOlFsp35EFHIhSxaaGiMQsVmb1Q0JEIRWxaqGjMQkVmOzl0JEIRmxaK1rRQAWmhyECEIjYtFK1poQLSQpGBCFWUG3k0YhYqMi0UdCRCFeVGHo2YhYrMd+RBRyIUsWmhaK3UXijfkQf9iFDEpoWiNdvJA9JCkYEIRWxaqGjMQtGBFooMRChi00JFYxaKDrRQZCBCFeVGHqyp1CyU78iDfkSootzIgzVVaqF8Rx50JEIRmxYqGrNQkdkLBR2JUMSmhYrGLFRktpNDRyIUsWmhaE0LFZAWigxEKGLTQtGaFiogLRQZiFBFuZFHI2ahItNCQUcbi8ViOlLJy+crfNT9wGeGl14aPvSh6WV2v/Vbw199aLj5pdwBd3NreNd/mc41PPPMcPHidE7t1KnhE/95+KN/PZ5T/zv2yC8OL9wcfy81LP/inzw5nalFhAIAmM2DPACA2UQoAIDZPMgr6tKl4dq18XD8+HipLdc/V/9nnz371zdu/fG1vxn/JL8f/Pbjf/Cl8afb2b3zd3+S0cNHhx/6joemFzXcuDTsvjKdUzvy4LC7Nbzwwnj+//4q5To8/vhw8+Yw/OF4LuDEe4dDx6YztYhQRZ05Mzz33HTOa7F47vKrZz7y4vQyuStPPbb8Wa5ez32FfuuhzeUPMr2o4fPnhq9dmM7Zveuvhre/fTrn9dGPDv9mGF5+cnqZ3Q//2XDsndOZWjzIAyih3uJ4iE2EAg62Q4X2QlVaEwrhiVDAwXZH7ADuhggFHGyVWqg6bCcnAREKONi0UBH5jjwSEKGAGbLfKNyDFioiLRQJiFDADFsPlQscWqiItFAkIEJBL5k3aq6ceOP6dCpDCxWRFooERCjo5UiFv26v319rNfmSFioiLRQJiFDQS4kWqiAtVERaKBIQoaCXEi1UQVqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy8lWih7oehCC0UCIhT0UqKFsheKLrRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJCBCQS9u5MWkhYpIC0UCIhT04kZeTFqoiLRQJOA9HXrRQsWkhYpIC0UCIhT0ooWKSQsVkRaKBLynQy/2QsWkhYpIC0UCIhT0Yi9UTFqoiLRQJLCxWCymI5WcPz9cvTqd8/rMZ65e3/nxT7w0vUzuf57/np/7zd//89u5I8h3HN75+E+/d3pRwxefGa5fnM55LXaH+759ePt/Gj7wgelP8nr66eF7bw1f+OXpZWrL38vW/x5OnpxeUosIVdTO1WHnynTO6+SZ13d2/+BLN45v3LmxOJT9n//qnSefu/zq8sda/eHXbw0PHx1/0PiH1U+xefTQex85Mf5RGS+9NP73xvHjw40buf+59L73Da9+5ps/VWYnz4y/keXv5R/5YRP98+zZ6eeiHBGqqEs/Mrz2/HTO6/HFMnOc+ciL08vkrjz12PJnyT5LtPXQ5vIHmV7UcO7ccOHCdE5ta2v4k08Pn/vO6WVe7/ro8KlhePLJ6WV2V66MvxoqMgsFUMXGkekAtCdCAQfbpht58Rx2I48ERCjgYNtxIy+e227kkYAIBcxQcC+UFiogLRQZiFDADAX3QmmhAtJCkYEIRWg7vlcumBNvXJ9OZWihAtJCkYEIRWibvlcumNfvf2g6laGFCkgLRQY+n4qqcrdZC0VzWqiAtFBkIEIVtdidDslpoWhOCxWQFooMfD4RmhaK5rRQAWmhyECEIjQtFM1poQLSQpGBzydC00JFYy8UPWihyECEIjQtVDT2QtGDFooMfD4V5UYebdgLRQ9aKDIQoYpyI4827IWiBy0UGfh8IjQtFM1poQLSQpGBCEVoWiia00IFpIUiA59PhKaFojktVEBaKDIQoQhNC0VzWqiAtFBk4POpKDfyaMNeKHrQQpGBCFWUG3m0YS8UPWihyMDnE6FpoaKxF4oetFBkIEIRmhYqGnuh6EELRQY+nwhNC0VzWqiAtFBkIEIRmhaK5rRQAWmhyMDnU1Fu5MGatFABaaHIQIQqyo08WJMWKiAtFBn4fCI0LVQ09kLRgxaKDEQoQtNCRWMvFD1oocjA5xOhaaGisReKHrRQZCBCEZoWKhp7oehBC0UGPp+KciMP1qSFCkgLRQYiVFFu5MGatFABaaHIwOcToWmhaE4LFZAWigxEKELTQtGcFiogLRQZ+HwiNC1UNPZC0YMWigxEKELTQkVjLxQ9aKHIwOdTUW7k0Ya9UPSghSIDEaooN/Jow14oetBCkYHPJ0LTQtGcFiogLRQZiFCEpoWiOS1UQFooMvD5RGhaKJrTQgWkhSIDEYrQtFA0p4UKSAtFBj6finIjjzbshaIHLRQZiFBFuZFHG/ZC0YMWigx8PhGaFioae6HoQQtFBiIUoWmhorEXih60UGTg84nQtFA0p4UKSAtFBiIUoWmhaE4LFZAWigx8PhXlRh6sSQsVkBaKDESootzIgzVpoQLSQpGBzydC00JFYy8UPWihyECEIjQtVDT2QtGDFooMfD4RmhYqGnuh6EELRQYiFKFpoaKxF4oetFBk4POpKDfyYE1aqIC0UGQgQhXlRh6sSQsVkBaKDHw+EZoWiua0UAFpochAhCI0LRTNaaEC0kKRgc8nQtNCRWMvFD1oochAhCI0LVQ09kLRgxaKDHw+FeVGHm3YC0UPWigyEKGKciOPNuyFogctFBn4fCI0LRTNaaEC0kKRgQhFaFoomtNCBaSFIoONxWIxHQEAWI//xAcAmE2EAgCYTYQCAJhNhAIAmE2EAgCYTYQCAJhNhAIAmE2EAgCYTYQCAJhNhAIAmE2EAgCYTYQCAJhNhAIAmE2EAgCYTYQCAJhNhAIAmE2EAgCYTYQCAJhNhAIAmGkY/hYrs2REApw+SAAAAABJRU5ErkJggg==\" alt=\"Tilings of a 3x3 rectangle\" data-image-state=\"image-loaded\" width=\"395\" height=\"239\"\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: 133.658px 7.50833px; transform-origin: 133.658px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to count the ways that a 3x\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: 73.9083px 7.50833px; transform-origin: 73.9083px 7.50833px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e rectangle can be filled. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = fillRectangle(n)\r\n  y = 2*n-1;\r\nend","test_suite":"%%\r\nn = 1;\r\ny_correct = 1;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 2;\r\ny_correct = 3;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 3;\r\ny_correct = 5;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 5;\r\ny_correct = 21;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 8;\r\ny_correct = 171;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 13;\r\ny_correct = 5461;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 21;\r\ny_correct = 1398101;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 34;\r\ny_correct = 11453246123;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = 50;\r\ny_correct = 750599937895083;\r\nassert(isequal(fillRectangle(n),y_correct))\r\n\r\n%%\r\nn = randi(30);\r\ny1 = fillRectangle(n);\r\ny2 = fillRectangle(n+1);\r\nassert(isequal(log2(y1+y2),n+1))\r\n\r\n%%\r\nfiletext = fileread('fillRectangle.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext, 'read'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":46909,"edited_by":46909,"edited_at":"2022-04-23T00:39:35.000Z","deleted_by":null,"deleted_at":null,"solvers_count":20,"test_suite_updated_at":"2022-04-22T04:50:46.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-04-22T04:33:33.000Z","updated_at":"2026-01-15T18:25:04.000Z","published_at":"2022-04-22T04:47:56.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA 3x2 rectangle can be filled with 1x1 and 2x2 tiles in three ways:\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=\\\"119\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"264\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Tilings of a 3x2 rectangle\\\"/\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\u003eThe colors merely distinguish the sizes of the tiles. A 3x3 rectangle can be filled with 1x1 and 2x2 tiles in five ways:\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=\\\"239\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"395\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Tilings of a 3x3 rectangle\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\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\u003eWrite a function to count the ways that a 3x\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 rectangle can be filled. \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\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image2.png\",\"relationshipId\":\"rId2\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null},{\"partUri\":\"/media/image2.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":781,"title":"Access a web hosted copy of the Tiles Contest MAT file","description":"Access a web hosted copy of the Tiles Contest sample \"mat\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\r\n\r\nDetails of the Tiles Contest can be found at \u003chttp://www.mathworks.com/matlabcentral/contest/contests/36 Tiles Contest\u003e.\r\n\r\nThe runcontest.m provides testsuite structure information.\r\n\r\n*Input:* (urlfname, board)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx'\r\n\r\n*Output:* (number of tiles, nrows, ncols)\r\n\r\nFor board 99\r\n\r\n[ 20 10 8 ]\r\n\r\n\r\n\r\nNote: The mat file is a very efficiently packed binary file.\r\n\r\nFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards","description_html":"\u003cp\u003eAccess a web hosted copy of the Tiles Contest sample \"mat\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\u003c/p\u003e\u003cp\u003eDetails of the Tiles Contest can be found at \u003ca href=\"http://www.mathworks.com/matlabcentral/contest/contests/36\"\u003eTiles Contest\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe runcontest.m provides testsuite structure information.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e (urlfname, board)\u003c/p\u003e\u003cp\u003efn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx'\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e (number of tiles, nrows, ncols)\u003c/p\u003e\u003cp\u003eFor board 99\u003c/p\u003e\u003cp\u003e[ 20 10 8 ]\u003c/p\u003e\u003cp\u003eNote: The mat file is a very efficiently packed binary file.\u003c/p\u003e\u003cp\u003eFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards\u003c/p\u003e","function_template":"function out = access_url_mat(urlfname,brd)\r\n \r\n %tiles=tests.testsuite(brd).tiles;\r\n\r\n ntiles=1;nrow=1;ncol=1;\r\n \r\n out=[ntiles nrow ncol];\r\n\r\nend","test_suite":"%%\r\n% Cody External accessibility\r\ny=clock;\r\nrand('state',floor(10000*y(6)))\r\nbrd=randi(100,1)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx';\r\n\r\nfn='http://tinyurl.com/matlab-tiles-mat';\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\ntests = load(testSuiteFile,'testsuite');\r\n\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\n\r\nexpected=[size(tiles,1) rows cols]\r\n\r\nout=access_url_mat(fn,brd)\r\n\r\nassert(isequal(out,expected))\r\n%%\r\nbrd=randi(100,1)\r\n\r\nfn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u00266cq_kc2=yae1d8\u00266cq_konmpb=y88ayxyx8xxy1xdyx';\r\n\r\nfn='http://tinyurl.com/matlab-tiles-mat';\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\ntests = load(testSuiteFile,'testsuite');\r\n\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\n\r\nexpected=[size(tiles,1) rows cols]\r\n\r\nout=access_url_mat(fn,brd)\r\n\r\nassert(isequal(out,expected))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2012-11-22T12:22:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-06-21T04:54:17.000Z","updated_at":"2025-10-25T08:50:10.000Z","published_at":"2012-06-22T04:40:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAccess a web hosted copy of the Tiles Contest sample \\\"mat\\\" and verify success by returning for a board the number of tiles, number of rows, and number of columns of the board.\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\u003eDetails of the Tiles Contest can be found at\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://www.mathworks.com/matlabcentral/contest/contests/36\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles Contest\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe runcontest.m provides testsuite structure information.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (urlfname, board)\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\u003efn='http://www.toobigforemail.com/cryptkeeper.toobig?nppmkc2=xyeffg\u0026amp;6cq_kc2=yae1d8\u0026amp;6cq_konmpb=y88ayxyx8xxy1xdyx'\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (number of tiles, nrows, ncols)\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 board 99\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\u003e[ 20 10 8 ]\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\u003eNote: The mat file is a very efficiently packed binary file.\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\u003eFollow-up questions will be creation of a mat file and a timed contest for a few of the perfectly solveable Tile boards\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":788,"title":"Tiles Contest: Perfect Solutions for Large Unique Tile  Boards","description":"*Tiles Contest:* The Large Unique Boards/Tiles that perfectly solve (50x50)\r\n\r\nReturn Perfect solutions for both boards. Scoring will be based upon size and time.\r\n\r\nSample \"Board 59\" and Actual(Contest) \"Board 6\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\r\n\r\nThe complete description of \u003chttp://www.mathworks.com/matlabcentral/contest/contests/36/rules Tiles\u003e explains what is a tile, orientation, and board output.\r\n\r\n*Input:* (boardsize, tiles)\r\n\r\n*Output:* (board, orientation)\r\n\r\n*Passing:* Two Perfect Boards.\r\n\r\n*Scoring:* Based upon Size/10 and Average Time(msec) of solutions.\r\n\r\n\r\nThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\r\n\r\n\r\n\r\nThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics.  There are multiple perfect solution boards which were not solved during the contest.\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: 333px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 166.5px; transform-origin: 407px 166.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; 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: 46.15px 7.91667px; transform-origin: 46.15px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTiles Contest:\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: 184.517px 7.91667px; transform-origin: 184.517px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e The Large Unique Boards/Tiles that perfectly solve (50x50)\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: 256.35px 7.91667px; transform-origin: 256.35px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn Perfect solutions for both boards. Scoring will be based upon size and time.\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: 370.917px 7.91667px; transform-origin: 370.917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSample \"Board 59\" and Actual(Contest) \"Board 6\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\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: 87.9167px 7.91667px; transform-origin: 87.9167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe complete description of \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://web.archive.org/web/20150224170744/http://www.mathworks.com/matlabcentral/contest/contests/36/rules\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTiles_wayback\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/contest/contests/36/rules\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTiles\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: 163.383px 7.91667px; transform-origin: 163.383px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e explains what is a tile, orientation, and board output.\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: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 53.3px 7.91667px; transform-origin: 53.3px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (boardsize, tiles)\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: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\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: 61.0833px 7.91667px; transform-origin: 61.0833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (board, orientation)\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: 29.1667px 7.91667px; transform-origin: 29.1667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ePassing:\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: 64.95px 7.91667px; transform-origin: 64.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Two Perfect Boards.\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: 28.3833px 7.91667px; transform-origin: 28.3833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eScoring:\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: 184px 7.91667px; transform-origin: 184px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Based upon Size/10 and Average Time(msec) of solutions.\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: 349.283px 7.91667px; transform-origin: 349.283px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\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: 380.933px 7.91667px; transform-origin: 380.933px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics. There are multiple perfect solution boards which were not solved during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [board,orientation]=board_perfect(boardSize,tiles);\r\n  board=zeros(boardSize);\r\n  numtiles=size(tiles,1);\r\n  orientation=ones(numtiles,1);\r\n\r\n%Hint to help solve the board - This was a major contest innovation\r\n % te  Tiles expanded format 4*tiles, 4\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])]; % 4*numtiles x 4\r\n \r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',2000);\r\n%%\r\nformat short\r\nformat compact\r\n\r\nglobal net_time\r\n\r\n%fn='http://tinyurl.com/zapor-Tiles-sample-mat'; \r\n%fn='http://tinyurl.com/matlab-tiles-mat';\r\n%testsuite_sample.mat\r\nfn='https://sites.google.com/site/razapor/matlab_cody/testsuite_Tiles_sample.mat?attredirects=0\u0026d=1';\r\n\r\n\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\nbrd=59;\r\ntests = load(testSuiteFile,'testsuite');\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\nboardSize = [rows, cols];\r\n\r\n[board,orientation]=board_perfect(boardSize,tiles); % run twice for timing\r\nt0=clock;\r\n[board,orientation]=board_perfect(boardSize,tiles);\r\ndt=etime(clock,t0)*1e3;\r\n\r\n% verify score\r\n t=tiles;\r\n ntiles=size(tiles,1);\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])];\r\n \r\n % build check arrays UD, LR\r\n LR=zeros(rows,2*cols);\r\n UD=zeros(2*rows,cols);\r\n for r=1:rows\r\n  for c=1:cols\r\n   tptr=board(r,c);\r\n   tor=orientation(tptr);\r\n   UD(2*r-1,c)=te(tptr+ntiles*(tor-1),1);\r\n   UD(2*r,c)=te(tptr+ntiles*(tor-1),3);\r\n   LR(r,2*c-1)=te(tptr+ntiles*(tor-1),4);\r\n   LR(r,2*c)=te(tptr+ntiles*(tor-1),2);\r\n  end\r\n end\r\n checksum=sum([LR(:,1)' LR(:,end)' UD(1,:) UD(end,:)]);\r\n for idx=2:2:2*rows-2 % LR Square array assumed here\r\n  checksum=checksum+sum(LR(:,idx)-LR(:,idx+1))+sum(UD(idx,:)-UD(idx+1,:));\r\n end\r\n\r\n\r\nassert(checksum==0,sprintf('Checksum = %s\\n',num2str(checksum)));\r\nnet_time=dt\r\n%%\r\nglobal net_time\r\ntemp=net_time; % anti-cheat\r\n\r\n%fn='http://tinyurl.com/zapor-Tiles-contest-mat';\r\n%fn='http://tinyurl.com/matlab-tilesC-mat';\r\n%testsuite_actual.mat\r\nfn='https://sites.google.com/site/razapor/matlab_cody/testsuite_Tiles_contest.mat?attredirects=0\u0026d=1';\r\n\r\n\r\ntestSuiteFile = 'raz_tiles.mat';\r\nurlwrite(fn,testSuiteFile);\r\n\r\nbrd=6;\r\ntests = load(testSuiteFile,'testsuite');\r\ntiles = tests.testsuite(brd).tiles;\r\nrows = tests.testsuite(brd).r;\r\ncols = tests.testsuite(brd).c;\r\nboardSize = [rows, cols];\r\n\r\n[board,orientation]=board_perfect(boardSize,tiles); % run twice for timing\r\nt0=clock;\r\n[board,orientation]=board_perfect(boardSize,tiles);\r\ndt=etime(clock,t0)*1e3\r\n\r\n% verify score\r\n t=tiles;\r\n ntiles=size(tiles,1);\r\n te = [t; t(:,[2:4,1]); t(:,[3:4,1:2]); t(:,[4,1:3])];\r\n \r\n % build check arrays UD, LR\r\n LR=zeros(rows,2*cols);\r\n UD=zeros(2*rows,cols);\r\n for r=1:rows\r\n  for c=1:cols\r\n   tptr=board(r,c);\r\n   tor=orientation(tptr);\r\n   UD(2*r-1,c)=te(tptr+ntiles*(tor-1),1);\r\n   UD(2*r,c)=te(tptr+ntiles*(tor-1),3);\r\n   LR(r,2*c-1)=te(tptr+ntiles*(tor-1),4);\r\n   LR(r,2*c)=te(tptr+ntiles*(tor-1),2);\r\n  end\r\n end\r\n checksum=sum([LR(:,1)' LR(:,end)' UD(1,:) UD(end,:)]);\r\n for idx=2:2:2*rows-2 % LR Square array assumed here\r\n  checksum=checksum+sum(LR(:,idx)-LR(:,idx+1))+sum(UD(idx,:)-UD(idx+1,:));\r\n end\r\n\r\n\r\nassert(checksum==0,sprintf('Checksum = %s\\n',num2str(checksum)));\r\nnet_time=(dt+temp)/2\r\n%%\r\nglobal net_time\r\n\r\n% Limit Score to 2000 for graph quality\r\nt=mtree('board_perfect.m','-file');\r\nscr=floor(length(t.nodesize)/10+net_time);\r\nscr=min(scr,2000)\r\n\r\nfeval(@assignin,'caller','score',floor(scr));\r\n\r\n\r\n%fh=fopen('board_perfect.m','wt');\r\n%fprintf(fh,'%s\\n',repmat('1;',[1,round(scr/2)]));\r\n%fclose(fh);\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":1,"test_suite_updated_at":"2020-10-08T17:49:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-06-25T01:21:51.000Z","updated_at":"2025-05-05T20:22:13.000Z","published_at":"2012-06-26T18:09:51.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTiles Contest:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The Large Unique Boards/Tiles that perfectly solve (50x50)\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\u003eReturn Perfect solutions for both boards. Scoring will be based upon size and time.\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\u003eSample \\\"Board 59\\\" and Actual(Contest) \\\"Board 6\\\" have perfect solutions with unique tiles. The tiles are unique with any number,except zero, occurring exactly twice.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe complete description of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://web.archive.org/web/20150224170744/http://www.mathworks.com/matlabcentral/contest/contests/36/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles_wayback\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\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/contest/contests/36/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTiles\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e explains what is a tile, orientation, and board output.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (boardsize, tiles)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (board, orientation)\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\u003ePassing:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Two Perfect Boards.\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\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Based upon Size/10 and Average Time(msec) of solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Test Suite demonstrates urlwrite usage with a customized tinyurl from an http site for acessing web mat files.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is the first in a series of Tiles Contest challenges where the boards have interesting characteristics. There are multiple perfect solution boards which were not solved during the contest.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"tiles\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"tiles\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"tiles\"","","\"","tiles","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3360\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d32c0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d1a60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3720\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3680\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d35e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f4b4d3540\u003e":"tag:\"tiles\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3540\u003e":"tag:\"tiles\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"tiles\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"tiles\"","","\"","tiles","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3360\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d32c0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d1a60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3720\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3680\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f4b4d35e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f4b4d3540\u003e":"tag:\"tiles\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f4b4d3540\u003e":"tag:\"tiles\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":54345,"difficulty_rating":"easy-medium"},{"id":781,"difficulty_rating":"medium"},{"id":788,"difficulty_rating":"hard"}]}}