{"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":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":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:\"tinyurl\"","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:\"tinyurl\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"tinyurl\"","","\"","tinyurl","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2d44faa00\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2d44fa5a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2d44f8ca0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2d44fb040\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2d44fafa0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2d44faf00\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2d44fabe0\u003e":"tag:\"tinyurl\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2d44fabe0\u003e":"tag:\"tinyurl\""},"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:\"tinyurl\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"tinyurl\"","","\"","tinyurl","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2d44faa00\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2d44fa5a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2d44f8ca0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2d44fb040\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2d44fafa0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2d44faf00\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2d44fabe0\u003e":"tag:\"tinyurl\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2d44fabe0\u003e":"tag:\"tinyurl\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":788,"difficulty_rating":"hard"}]}}