{"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":44208,"title":"Where's Waldo?","description":"Find the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'.  Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\r\n\r\n*Example 1*\r\n\r\n  picture = ['QGxOe'\r\n             'dMWdg'\r\n             'Waldo']\r\n\r\n  waldoInd = [3     1\r\n              3     2\r\n              3     3\r\n              3     4\r\n              3     5]\r\n\r\n*Example 2*\r\n\r\n  picture = ['WLvJC'\r\n             'oDlaw'\r\n             'dMWdg']\r\n\r\n  waldoInd = [2     5\r\n              2     4\r\n              2     3\r\n              2     2\r\n              2     1]\r\n\r\n\r\n*Example 3*\r\n\r\n picture = ['WFBlS'\r\n            'DAlzQ'\r\n            'pjLTo'\r\n            'xnaDF'\r\n            'YgYRO'];\r\n\r\n waldoInd = [1 1\r\n             2 2\r\n             3 3 \r\n             4 4\r\n             5 5]","description_html":"\u003cp\u003eFind the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'.  Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample 1\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epicture = ['QGxOe'\r\n           'dMWdg'\r\n           'Waldo']\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003ewaldoInd = [3     1\r\n            3     2\r\n            3     3\r\n            3     4\r\n            3     5]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eExample 2\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epicture = ['WLvJC'\r\n           'oDlaw'\r\n           'dMWdg']\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003ewaldoInd = [2     5\r\n            2     4\r\n            2     3\r\n            2     2\r\n            2     1]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eExample 3\u003c/b\u003e\u003c/p\u003e\u003cpre\u003e picture = ['WFBlS'\r\n            'DAlzQ'\r\n            'pjLTo'\r\n            'xnaDF'\r\n            'YgYRO'];\u003c/pre\u003e\u003cpre\u003e waldoInd = [1 1\r\n             2 2\r\n             3 3 \r\n             4 4\r\n             5 5]\u003c/pre\u003e","function_template":"function waldoSubs = findWaldo(pictureBoard)\r\n  waldoSubs = [1 1\r\n               1 2\r\n               1 3\r\n               1 4\r\n               1 5];\r\nend","test_suite":"%%\r\n  picture1 = ['QGxOe'\r\n             'dMWdg'\r\n             'Waldo'];\r\n\r\n  waldoSub = [3     1;\r\n              3     2;\r\n              3     3;\r\n              3     4;\r\n              3     5];\r\n\r\nassert(isequal(findWaldo(picture1),waldoSub));\r\n\r\n%%\r\n picture2 = ['WLvJC'\r\n             'oDlaw'\r\n             'dMWdg']\r\n\r\n  waldoSub = [2     5;\r\n              2     4;\r\n              2     3;\r\n              2     2;\r\n              2     1];\r\n        \r\nassert(isequal(findWaldo(picture2),waldoSub));\r\n\r\n%%\r\npicture3 =['WFBlS'\r\n'DAlzQ'\r\n'pjLTo'\r\n'xnaDF'\r\n'YgYRO'];\r\n\r\nwaldoSub = [1 1;\r\n           2 2;\r\n           3 3;\r\n           4 4;\r\n           5 5];\r\nassert(isequal(findWaldo(picture3),waldoSub));\r\n\r\n%%\r\n    clear all;\r\n    waldoStr = 'waldo';\r\n    szStr=numel(waldoStr);\r\n    \r\n    % randomly reverse waldo\r\n    if(randi(2)-1)\r\n        waldoStr = fliplr(waldoStr);\r\n    end\r\n    \r\n    % randomly change case of waldo letters\r\n    for i=1:szStr\r\n        if(randi(2)-1)\r\n            waldoStr(i) = upper(waldoStr(i));\r\n        end\r\n    end\r\n    \r\n    % create a picture sized randomly picture ([10..15] x [10..15])\r\n    numRows=randi(10)+szStr;\r\n    numCols=randi(10)+szStr;\r\n    \r\n    % containing a mixture of upper and lower case letters\r\n    offset = ['A','a']-1;\r\n    picture = char(randi(26,numRows,numCols)+offset(randi(2,numRows,numCols)));\r\n    \r\n    % pick a random direction for writing waldo.\r\n    % Remember it could be 'odlaw' at this point so it is not a\r\n    % problem that we are not considering reverse order here\r\n    rowDir = randi(2)-1;\r\n    colDir = 1-rowDir;\r\n    \r\n    % Get a random spot on the board to place waldo, that is within bounds of\r\n    % the board\r\n    if(rowDir)\r\n        startR = randi(numRows-szStr);\r\n    else\r\n        startR = randi(numRows);\r\n    end\r\n    \r\n    if(colDir)\r\n        startC = randi(numCols-szStr);\r\n    else\r\n        startC = randi(numCols);\r\n    end\r\n    \r\n    waldoSub = repmat([startR, startC],szStr,1)+...\r\n        cumsum([0, 0; repmat([rowDir,colDir],szStr-1,1)]);\r\n    \r\n    waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n    picture(waldoInd)=waldoStr;\r\n\r\n    % Display the board so people can at least see what they were dealing \r\n    % with and, per chance,  complain that Waldo is not in here.\r\n    fprintf(1,'Here''s what your picture looked like:\\n');\r\n    disp(picture);\r\n    % need to give somewhat of a challenge here ...\r\n    clear waldoSub waldoInd waldoStr startR startC rowDir colDir offset szStr;\r\n    \r\n    % It could be that a waldo was randomly created in the board somewhere else so let's\r\n    % just check against the string waldo itself to be fair to our test takers\r\n    try\r\n       waldoSub = findWaldo(picture);\r\n       waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n       didPass = strcmpi(picture(waldoInd),'waldo');\r\n    catch me\r\n       didPass = false;\r\n    end\r\n    assert(didPass);\r\n    \r\n%%\r\n% Test 4\r\n    clear all;\r\n    waldoStr = 'waldo';\r\n    szStr=numel(waldoStr);\r\n    \r\n    \r\n    % randomly change case of waldo letters\r\n    for i=1:szStr\r\n        if(randi(2)-1)\r\n            waldoStr(i) = upper(waldoStr(i));\r\n        end\r\n    end\r\n    \r\n    % create a picture sized randomly picture ([10..15] x [10..15])\r\n    numRows=randi(15)+szStr;\r\n    numCols=randi(15)+szStr;\r\n    \r\n    % containing a mixture of upper and lower case letters\r\n    offset = ['A','a']-1;\r\n    picture = char(randi(26,numRows,numCols)+offset(randi(2,numRows,numCols)));\r\n    \r\n    % pick a random direction for writing waldo.\r\n    % Remember it could be 'odlaw' at this point so it is not a\r\n    % problem that we are not considering reverse order here\r\n    colDir = randi(3)-2;\r\n    if(~colDir)\r\n        rowDir = randi(2)*2-3; %cos(pi*randi(2));\r\n    else\r\n        rowDir = randi(3)-2;\r\n    end\r\n    \r\n    % Get a random spot on the board to place waldo, that is within bounds of\r\n    % the board\r\n    if(rowDir\u003e0)\r\n        startR = randi(numRows-szStr);\r\n    elseif(rowDir\u003c0)\r\n        startR = randi(numRows-szStr)+szStr;\r\n    else\r\n        startR = randi(numRows);\r\n    end\r\n    \r\n    if(colDir\u003e0)\r\n        startC = randi(numCols-szStr);\r\n    elseif(colDir\u003c0)\r\n        startC = randi(numCols-szStr)+szStr;\r\n    else\r\n        startC = randi(numCols);\r\n    end\r\n\r\n   \r\n    waldoSub = repmat([startR, startC],szStr,1)+...\r\n        cumsum([0, 0; repmat([rowDir,colDir],szStr-1,1)]);\r\n    \r\n    waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n    picture(waldoInd)=waldoStr;\r\n\r\n    % Display the board so people can at least see what they were dealing \r\n    % with and, per chance,  complain that Waldo is not in here.\r\n    fprintf(1,'Here''s what your picture looked like:\\n');\r\n    disp(picture);\r\n    % need to give somewhat of a challenge here ...\r\n    clear waldoSub waldoInd waldoStr startR startC rowDir colDir offset szStr;\r\n    \r\n    % It could be that a waldo was randomly created in the board somewhere else so let's\r\n    % just check against the string waldo itself to be fair to our test takers\r\n    try\r\n       waldoSub = findWaldo(picture);\r\n       waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n       didPass = strcmpi(picture(waldoInd),'waldo');\r\n    catch me\r\n       didPass = false;\r\n    end\r\n    assert(didPass);\r\n\r\n    \r\n","published":true,"deleted":false,"likes_count":5,"comments_count":7,"created_by":130819,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":"2017-07-28T03:25:54.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2017-05-19T18:13:19.000Z","updated_at":"2017-07-28T03:27:55.000Z","published_at":"2017-05-19T20:52:32.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\u003eFind the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'. Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[picture = ['QGxOe'\\n           'dMWdg'\\n           'Waldo']\\n\\nwaldoInd = [3     1\\n            3     2\\n            3     3\\n            3     4\\n            3     5]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[picture = ['WLvJC'\\n           'oDlaw'\\n           'dMWdg']\\n\\nwaldoInd = [2     5\\n            2     4\\n            2     3\\n            2     2\\n            2     1]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 3\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ picture = ['WFBlS'\\n            'DAlzQ'\\n            'pjLTo'\\n            'xnaDF'\\n            'YgYRO'];\\n\\n waldoInd = [1 1\\n             2 2\\n             3 3 \\n             4 4\\n             5 5]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":44208,"title":"Where's Waldo?","description":"Find the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'.  Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\r\n\r\n*Example 1*\r\n\r\n  picture = ['QGxOe'\r\n             'dMWdg'\r\n             'Waldo']\r\n\r\n  waldoInd = [3     1\r\n              3     2\r\n              3     3\r\n              3     4\r\n              3     5]\r\n\r\n*Example 2*\r\n\r\n  picture = ['WLvJC'\r\n             'oDlaw'\r\n             'dMWdg']\r\n\r\n  waldoInd = [2     5\r\n              2     4\r\n              2     3\r\n              2     2\r\n              2     1]\r\n\r\n\r\n*Example 3*\r\n\r\n picture = ['WFBlS'\r\n            'DAlzQ'\r\n            'pjLTo'\r\n            'xnaDF'\r\n            'YgYRO'];\r\n\r\n waldoInd = [1 1\r\n             2 2\r\n             3 3 \r\n             4 4\r\n             5 5]","description_html":"\u003cp\u003eFind the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'.  Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample 1\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epicture = ['QGxOe'\r\n           'dMWdg'\r\n           'Waldo']\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003ewaldoInd = [3     1\r\n            3     2\r\n            3     3\r\n            3     4\r\n            3     5]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eExample 2\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epicture = ['WLvJC'\r\n           'oDlaw'\r\n           'dMWdg']\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003ewaldoInd = [2     5\r\n            2     4\r\n            2     3\r\n            2     2\r\n            2     1]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eExample 3\u003c/b\u003e\u003c/p\u003e\u003cpre\u003e picture = ['WFBlS'\r\n            'DAlzQ'\r\n            'pjLTo'\r\n            'xnaDF'\r\n            'YgYRO'];\u003c/pre\u003e\u003cpre\u003e waldoInd = [1 1\r\n             2 2\r\n             3 3 \r\n             4 4\r\n             5 5]\u003c/pre\u003e","function_template":"function waldoSubs = findWaldo(pictureBoard)\r\n  waldoSubs = [1 1\r\n               1 2\r\n               1 3\r\n               1 4\r\n               1 5];\r\nend","test_suite":"%%\r\n  picture1 = ['QGxOe'\r\n             'dMWdg'\r\n             'Waldo'];\r\n\r\n  waldoSub = [3     1;\r\n              3     2;\r\n              3     3;\r\n              3     4;\r\n              3     5];\r\n\r\nassert(isequal(findWaldo(picture1),waldoSub));\r\n\r\n%%\r\n picture2 = ['WLvJC'\r\n             'oDlaw'\r\n             'dMWdg']\r\n\r\n  waldoSub = [2     5;\r\n              2     4;\r\n              2     3;\r\n              2     2;\r\n              2     1];\r\n        \r\nassert(isequal(findWaldo(picture2),waldoSub));\r\n\r\n%%\r\npicture3 =['WFBlS'\r\n'DAlzQ'\r\n'pjLTo'\r\n'xnaDF'\r\n'YgYRO'];\r\n\r\nwaldoSub = [1 1;\r\n           2 2;\r\n           3 3;\r\n           4 4;\r\n           5 5];\r\nassert(isequal(findWaldo(picture3),waldoSub));\r\n\r\n%%\r\n    clear all;\r\n    waldoStr = 'waldo';\r\n    szStr=numel(waldoStr);\r\n    \r\n    % randomly reverse waldo\r\n    if(randi(2)-1)\r\n        waldoStr = fliplr(waldoStr);\r\n    end\r\n    \r\n    % randomly change case of waldo letters\r\n    for i=1:szStr\r\n        if(randi(2)-1)\r\n            waldoStr(i) = upper(waldoStr(i));\r\n        end\r\n    end\r\n    \r\n    % create a picture sized randomly picture ([10..15] x [10..15])\r\n    numRows=randi(10)+szStr;\r\n    numCols=randi(10)+szStr;\r\n    \r\n    % containing a mixture of upper and lower case letters\r\n    offset = ['A','a']-1;\r\n    picture = char(randi(26,numRows,numCols)+offset(randi(2,numRows,numCols)));\r\n    \r\n    % pick a random direction for writing waldo.\r\n    % Remember it could be 'odlaw' at this point so it is not a\r\n    % problem that we are not considering reverse order here\r\n    rowDir = randi(2)-1;\r\n    colDir = 1-rowDir;\r\n    \r\n    % Get a random spot on the board to place waldo, that is within bounds of\r\n    % the board\r\n    if(rowDir)\r\n        startR = randi(numRows-szStr);\r\n    else\r\n        startR = randi(numRows);\r\n    end\r\n    \r\n    if(colDir)\r\n        startC = randi(numCols-szStr);\r\n    else\r\n        startC = randi(numCols);\r\n    end\r\n    \r\n    waldoSub = repmat([startR, startC],szStr,1)+...\r\n        cumsum([0, 0; repmat([rowDir,colDir],szStr-1,1)]);\r\n    \r\n    waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n    picture(waldoInd)=waldoStr;\r\n\r\n    % Display the board so people can at least see what they were dealing \r\n    % with and, per chance,  complain that Waldo is not in here.\r\n    fprintf(1,'Here''s what your picture looked like:\\n');\r\n    disp(picture);\r\n    % need to give somewhat of a challenge here ...\r\n    clear waldoSub waldoInd waldoStr startR startC rowDir colDir offset szStr;\r\n    \r\n    % It could be that a waldo was randomly created in the board somewhere else so let's\r\n    % just check against the string waldo itself to be fair to our test takers\r\n    try\r\n       waldoSub = findWaldo(picture);\r\n       waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n       didPass = strcmpi(picture(waldoInd),'waldo');\r\n    catch me\r\n       didPass = false;\r\n    end\r\n    assert(didPass);\r\n    \r\n%%\r\n% Test 4\r\n    clear all;\r\n    waldoStr = 'waldo';\r\n    szStr=numel(waldoStr);\r\n    \r\n    \r\n    % randomly change case of waldo letters\r\n    for i=1:szStr\r\n        if(randi(2)-1)\r\n            waldoStr(i) = upper(waldoStr(i));\r\n        end\r\n    end\r\n    \r\n    % create a picture sized randomly picture ([10..15] x [10..15])\r\n    numRows=randi(15)+szStr;\r\n    numCols=randi(15)+szStr;\r\n    \r\n    % containing a mixture of upper and lower case letters\r\n    offset = ['A','a']-1;\r\n    picture = char(randi(26,numRows,numCols)+offset(randi(2,numRows,numCols)));\r\n    \r\n    % pick a random direction for writing waldo.\r\n    % Remember it could be 'odlaw' at this point so it is not a\r\n    % problem that we are not considering reverse order here\r\n    colDir = randi(3)-2;\r\n    if(~colDir)\r\n        rowDir = randi(2)*2-3; %cos(pi*randi(2));\r\n    else\r\n        rowDir = randi(3)-2;\r\n    end\r\n    \r\n    % Get a random spot on the board to place waldo, that is within bounds of\r\n    % the board\r\n    if(rowDir\u003e0)\r\n        startR = randi(numRows-szStr);\r\n    elseif(rowDir\u003c0)\r\n        startR = randi(numRows-szStr)+szStr;\r\n    else\r\n        startR = randi(numRows);\r\n    end\r\n    \r\n    if(colDir\u003e0)\r\n        startC = randi(numCols-szStr);\r\n    elseif(colDir\u003c0)\r\n        startC = randi(numCols-szStr)+szStr;\r\n    else\r\n        startC = randi(numCols);\r\n    end\r\n\r\n   \r\n    waldoSub = repmat([startR, startC],szStr,1)+...\r\n        cumsum([0, 0; repmat([rowDir,colDir],szStr-1,1)]);\r\n    \r\n    waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n    picture(waldoInd)=waldoStr;\r\n\r\n    % Display the board so people can at least see what they were dealing \r\n    % with and, per chance,  complain that Waldo is not in here.\r\n    fprintf(1,'Here''s what your picture looked like:\\n');\r\n    disp(picture);\r\n    % need to give somewhat of a challenge here ...\r\n    clear waldoSub waldoInd waldoStr startR startC rowDir colDir offset szStr;\r\n    \r\n    % It could be that a waldo was randomly created in the board somewhere else so let's\r\n    % just check against the string waldo itself to be fair to our test takers\r\n    try\r\n       waldoSub = findWaldo(picture);\r\n       waldoInd = sub2ind([numRows,numCols],waldoSub(:,1),waldoSub(:,2))';\r\n       didPass = strcmpi(picture(waldoInd),'waldo');\r\n    catch me\r\n       didPass = false;\r\n    end\r\n    assert(didPass);\r\n\r\n    \r\n","published":true,"deleted":false,"likes_count":5,"comments_count":7,"created_by":130819,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":"2017-07-28T03:25:54.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2017-05-19T18:13:19.000Z","updated_at":"2017-07-28T03:27:55.000Z","published_at":"2017-05-19T20:52:32.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\u003eFind the string 'Waldo' in the character matrix given and return the indices of where you found him as a 4x2 matrix where the elements reflect the row, column pairings of each letter in Waldo's name, starting with 'W'. Waldo will be hidden in various ways, e.g. 'odlaW', 'waldo', so be sure to look closely.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[picture = ['QGxOe'\\n           'dMWdg'\\n           'Waldo']\\n\\nwaldoInd = [3     1\\n            3     2\\n            3     3\\n            3     4\\n            3     5]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[picture = ['WLvJC'\\n           'oDlaw'\\n           'dMWdg']\\n\\nwaldoInd = [2     5\\n            2     4\\n            2     3\\n            2     2\\n            2     1]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample 3\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ picture = ['WFBlS'\\n            'DAlzQ'\\n            'pjLTo'\\n            'xnaDF'\\n            'YgYRO'];\\n\\n waldoInd = [1 1\\n             2 2\\n             3 3 \\n             4 4\\n             5 5]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"waldo\"","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:\"waldo\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"waldo\"","","\"","waldo","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74db5a9108\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74db5a9068\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74db5a8488\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74db5a9388\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74db5a92e8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74db5a9248\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74db5a91a8\u003e":"tag:\"waldo\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74db5a91a8\u003e":"tag:\"waldo\""},"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:\"waldo\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"waldo\"","","\"","waldo","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74db5a9108\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74db5a9068\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74db5a8488\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74db5a9388\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74db5a92e8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74db5a9248\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74db5a91a8\u003e":"tag:\"waldo\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74db5a91a8\u003e":"tag:\"waldo\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44208,"difficulty_rating":"medium"}]}}