{"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":1506,"title":"Maximum Intra-Vector Swaps","description":"This Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\r\n\r\nThe processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\r\n\r\n*Example Sequences:* \r\n\r\n  [3 1 2], [2 1 3], [1 2 3] Score 2\r\n  [3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 5]\r\n\r\n\r\n*Input:* n  (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31) \r\n\r\n*Output:* Vector of values 1:n\r\n\r\nExample:\r\n\r\nInput: 5  Output: [3 1 4 5 2]  \r\n\r\nScore: 7  \r\n\r\nA minimum cumulative score of 531 for the 17 cases is required to Pass.\r\n\r\nFinal Score = 2531 - sum(scores)\r\n\r\n*Hints:*\r\n\r\nUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u003e9.\r\n\r\nRequest: If Code is implemented external then please post as a block comment.\r\n\r\nFaster Code Block than fliplr:\r\n\r\n  function count=process_seq(seq)\r\n   count=0;\r\n   while seq(1)\u003e1\r\n    count=count+1;\r\n    seq(1:seq(1))=seq(seq(1):-1:1);\r\n   end\r\n  end","description_html":"\u003cp\u003eThis Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\u003c/p\u003e\u003cp\u003eThe processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample Sequences:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[3 1 2], [2 1 3], [1 2 3] Score 2\r\n[3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 5]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e n  (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Vector of values 1:n\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eInput: 5  Output: [3 1 4 5 2]\u003c/p\u003e\u003cp\u003eScore: 7\u003c/p\u003e\u003cp\u003eA minimum cumulative score of 531 for the 17 cases is required to Pass.\u003c/p\u003e\u003cp\u003eFinal Score = 2531 - sum(scores)\u003c/p\u003e\u003cp\u003e\u003cb\u003eHints:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u003e9.\u003c/p\u003e\u003cp\u003eRequest: If Code is implemented external then please post as a block comment.\u003c/p\u003e\u003cp\u003eFaster Code Block than fliplr:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efunction count=process_seq(seq)\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nend\r\n\u003c/pre\u003e","function_template":"function max_seq=find_max_swap_seq(n)\r\n max_seq=1:n;\r\n count=process_seq(max_seq);\r\nend\r\n\r\n% Suggested function for sequence performance evaluation\r\nfunction count=process_seq(seq)\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nend","test_suite":"tic\r\nfeval(@assignin,'caller','score',2000);\r\n%%\r\n% 2 1\r\nglobal cseq\r\ncseq{1}=1; % Gift answer\r\nmax_seq=find_max_swap_seq(2);\r\nassert(isequal(1:2,unique(max_seq)))\r\ncseq{2}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 3 2\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(3);\r\nassert(isequal(1:3,unique(max_seq)))\r\ncseq{3}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 4 4\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(4);\r\nassert(isequal(1:4,unique(max_seq)))\r\ncseq{4}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 5 7\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(5);\r\nassert(isequal(1:5,unique(max_seq)))\r\ncseq{5}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 6 10\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(6);\r\nassert(isequal(1:6,unique(max_seq)))\r\ncseq{6}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 7 16\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(7);\r\nassert(isequal(1:7,unique(max_seq)))\r\ncseq{7}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 8 22\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(8);\r\nassert(isequal(1:8,unique(max_seq)))\r\ncseq{8}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 9 30\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(9);\r\nassert(isequal(1:9,unique(max_seq)))\r\ncseq{9}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%10 38\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(10);\r\nassert(isequal(1:10,unique(max_seq)))\r\ncseq{10}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%11 51\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(11);\r\nassert(isequal(1:11,unique(max_seq)))\r\ncseq{11}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%13 80 case 12\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(13);\r\nassert(isequal(1:13,unique(max_seq)))\r\ncseq{12}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%17 159 case 13\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(17);\r\nassert(isequal(1:17,unique(max_seq)))\r\ncseq{13}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%19 221 case 14\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(19);\r\nassert(isequal(1:19,unique(max_seq)))\r\ncseq{14}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%23 382 case 15\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(23);\r\nassert(isequal(1:23,unique(max_seq)))\r\ncseq{15}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%29 689 case 16\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(29);\r\nassert(isequal(1:29,unique(max_seq)))\r\ncseq{16}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%31 819 case 17\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(31);\r\nassert(isequal(1:31,unique(max_seq)))\r\ncseq{17}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\ntoc\r\n%%\r\nglobal cseq\r\ntotal=0;\r\nfor i=2:17\r\n seq=cseq{i};\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\n total=total+count;\r\nend\r\n\r\n% 2531 is optimal sum\r\ntotal=sum([0 1 2 4 7 10 16 22 30 38 51 80 159 221 382 689 819])-total;\r\nassert(total\u003c2001); % Minimum performance requirement\r\n\r\ntoc\r\nfeval(@assignin,'caller','score',min(2000,total));\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-05-13T01:28:12.000Z","updated_at":"2026-04-01T14:34:03.000Z","published_at":"2013-05-13T04:01:26.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\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 processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample Sequences:\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[[3 1 2], [2 1 3], [1 2 3] Score 2\\n[3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 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\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e n (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31)\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 Vector of values 1:n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput: 5 Output: [3 1 4 5 2]\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\u003eScore: 7\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA minimum cumulative score of 531 for the 17 cases is required to Pass.\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\u003eFinal Score = 2531 - sum(scores)\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\u003eHints:\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\u003eUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u0026gt;9.\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\u003eRequest: If Code is implemented external then please post as a block comment.\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\u003eFaster Code Block than fliplr:\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[function count=process_seq(seq)\\n count=0;\\n while seq(1)\u003e1\\n  count=count+1;\\n  seq(1:seq(1))=seq(seq(1):-1:1);\\n end\\nend]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":47290,"title":"Add 2 Vectors","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 182.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 91.3333px; transform-origin: 174px 91.3333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function add(A,B)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 62.8571px; 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: 151px 31.4286px; text-align: left; transform-origin: 151px 31.4286px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003esuch that  C = add(A,B) will return a third vector C where each term of C is equal to addition of term equivalent to A and B\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eex- A = [1 2 3]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eB = [2 6 7]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ethen, C = [3 8 10]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function C = add(A,B)\r\n  C = A*B';\r\nend","test_suite":"%%\r\nA = [1 2 4 3];\r\nB = [3 1 3 1];\r\nC_correct = [4 3 7 4];\r\nassert(isequal(add(A,B),C_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":142,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T06:27:07.000Z","updated_at":"2026-02-24T06:03:28.000Z","published_at":"2020-11-05T06:27:07.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function add(A,B)\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\u003esuch that  C = add(A,B) will return a third vector C where each term of C is equal to addition of term equivalent to A and B\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\u003eex- A = [1 2 3]\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\u003eB = [2 6 7]\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\u003ethen, C = [3 8 10]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47285,"title":"10% Discount","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 71.8571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 35.9286px; transform-origin: 174px 35.9286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCalculate the amount that customer will pay for a software. There is 10% discount in MRP.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction Price(M) will return M - discount\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = Price(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 100;\r\ny_correct = 90;\r\nassert(isequal(Price(x),y_correct))\r\n\r\n%%\r\nx = 150;\r\ny_correct = 135;\r\nassert(isequal(Price(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":83,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T04:55:40.000Z","updated_at":"2026-02-06T16:06:37.000Z","published_at":"2020-11-05T04:55:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate the amount that customer will pay for a software. There is 10% discount in MRP.\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\u003eFunction Price(M) will return M - discount\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60511,"title":"ICFP 2024 Programming Contest June 28 thru July 1 ","description":"This is to announce the annual ICFP programming contest for 2024.\r\nThe ICFP 2024 homepage link is  ICFP 2024 . Registration will be required to view datasets and compete.\r\nThis contest allows Matlab and any other language.\r\nIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\r\nApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\r\nThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\r\n\r\nThis challenge is to return the string \"ICFP:Matlab for the Win 2024\" ","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: 231px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 115.5px; transform-origin: 407px 115.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: 214px 8px; transform-origin: 214px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis is to announce the annual ICFP programming contest for 2024.\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: 107px 8px; transform-origin: 107px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP 2024 homepage link is  \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP 2024\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: 191px 8px; transform-origin: 191px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e . Registration will be required to view datasets and compete.\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: 162px 8px; transform-origin: 162px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis contest allows Matlab and any other language.\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: 296px 8px; transform-origin: 296px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\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: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\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: 311.5px 8px; transform-origin: 311.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 215.5px 8px; transform-origin: 215.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return the string \"ICFP:Matlab for the Win 2024\" \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function ICFP_str = ICFP_2024(x)\r\n % ICFP_str='ICFP:Matlab for the Win 2024';\r\nend","test_suite":"%%\r\nassert(isequal(ICFP_2024,'ICFP:Matlab for the Win 2024'))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2024-06-10T17:39:00.000Z","deleted_by":null,"deleted_at":null,"solvers_count":50,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-10T17:34:19.000Z","updated_at":"2026-02-27T22:19:02.000Z","published_at":"2024-06-10T17:39:00.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is to announce the annual ICFP programming contest for 2024.\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 ICFP 2024 homepage link is  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP 2024\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e . Registration will be required to view datasets and compete.\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 contest allows Matlab and any other language.\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\u003eIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\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\u003eApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return the string \\\"ICFP:Matlab for the Win 2024\\\" \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47280,"title":"Find Sum of array","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 80.8571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 40.4286px; transform-origin: 174px 40.4286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCalculate Sum of all elements of an array.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA = [1 3 4 6]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ecalculate_sum(A) = 14\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = calculate_sum(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(calculate_sum(x),y_correct))\r\n\r\n%%\r\nx = [1 2 5 9 4];\r\ny_correct = 21;\r\nassert(isequal(calculate_sum(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":86,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T18:17:30.000Z","updated_at":"2026-02-05T20:53:16.000Z","published_at":"2020-11-04T18:17:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate Sum of all elements of an array.\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\u003eA = [1 3 4 6]\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\u003ecalculate_sum(A) = 14\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47214,"title":"Find Logic 2","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function by finding logic from this problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 17\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf you got the logic Make a function logic(x) which will return value equivalent to 'x' th term.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 50;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx=9;\r\ny_correct = 82;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":78,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:55:18.000Z","updated_at":"2026-02-16T12:00:42.000Z","published_at":"2020-11-03T11:55:18.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function by finding logic from this problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 2\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\u003elogic(2) = 5\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\u003elogic(3) = 10\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\u003elogic(4) = 17\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\u003eIf you got the logic Make a function logic(x) which will return value equivalent to 'x' th term.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60591,"title":"ICFP2024 001: Lambdaman 6","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\r\nThis maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB. SF B$ B$ L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\" Sl I#,\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\r\nB. S3/,6%},!-\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\r\n\r\nThis challenge is to return a string of 199 'R's with minimal matlab program size.\r\n\r\nAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.","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: 537px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 268.5px; transform-origin: 407px 268.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 365px 8px; transform-origin: 365px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\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: 301px 8px; transform-origin: 301px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \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: 331px 8px; transform-origin: 331px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \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: 331px 8px; transform-origin: 331px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. SF B$ B$ L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\" Sl I#,\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 294px 8px; transform-origin: 294px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\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: 235.5px 8px; transform-origin: 235.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. S3/,6%},!-\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 250px 8px; transform-origin: 250px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of 199 'R's with minimal matlab program size.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman6(m)\r\n% m is a maze where '.' is a power-dot to eat, L is Lambdaman the token being moved, \r\n% '#' is a wall, and Linefeed(ascii 10) is right edge of maze\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman6 is a string of 199 R characters, char(82*ones(1,199))\r\n v='R';\r\nend\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}","test_suite":"%%\r\nm=['L' char(46*ones(1,199))]; % 46 is .\r\nv = Lambdaman6(m)\r\nvd=double(v); % keep only L-76 R-82\r\nvd(vd\u003e82)='';vd(vd\u003c76)=''; vd(vd\u003e76 \u0026 vd\u003c82)=''; % Remove non-operable characters\r\nvalid=0;\r\nidx=1;\r\nmc=[0 ones(1,199)];\r\nfor i=1:length(vd)\r\n if vd(i)==82 % R\r\n  idx=idx+1;\r\n  mc(idx)=0;\r\n  if idx==200,break;end\r\n else % must be 76 L\r\n  if idx\u003e1\r\n   idx=idx-1;\r\n   mc(idx)=0;\r\n  end\r\n end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nend\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-09T15:15:26.000Z","deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-09T13:32:16.000Z","updated_at":"2026-03-31T11:17:56.000Z","published_at":"2024-07-09T15:15:26.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\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 maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB. SF B$ B$ L\\\" B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L$ L# ? B= v# I\\\" v\\\" B. v\\\" B$ v$ B- v# I\\\" Sl I#,\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\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\u003eB. S3/,6%},!-\\\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of 199 'R's with minimal matlab program size.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47234,"title":"Find Logic 4","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function by finding logic from this problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 20\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic and make function logic(x) which will return 'x' th term of series\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 20;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 56;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":499,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T13:56:59.000Z","updated_at":"2026-02-27T08:11:55.000Z","published_at":"2020-11-03T13:56:59.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function by finding logic from this problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 2\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\u003elogic(2) = 6\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\u003elogic(3) = 12\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\u003elogic(4) = 20\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\u003eGuess the logic and make function logic(x) which will return 'x' th term of series\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60608,"title":"ICFP2024 006: Lambda 21 - 3D","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\" B/ v# I% BT I\" BD B% v# I% Sl~aF   in this language F=\u003eL, l=\u003e., ~=\u003eLineFeed, a=\u003e#, IR means Integer 49, IS is 50\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\r\nB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\" BD B% vp I% SO\u003eLF\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\n Lambdaman21 was solved by Thirteen Team using tools. ThirteenTeam youtube ICFP2024\r\nThis challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.","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: 607px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 303.5px; transform-origin: 407px 303.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 338.5px 8px; transform-origin: 338.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 206.5px 8px; transform-origin: 206.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\" B/ v# I% BT I\" BD B% v# I% Sl~aF   in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, a=\u0026gt;#, IR means Integer 49, IS is 50\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 366px 8px; transform-origin: 366px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\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: 360px 8px; transform-origin: 360px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\" BD B% vp I% SO\u0026gt;LF\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 100px; 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 50px; text-align: left; transform-origin: 384px 50px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 100px;height: 100px\" src=\"data:image/gif;base64,R0lGODlhyADIAOetAAAAAA0NDRYWFhwcHCIiIiYmJioqKi4uLjIyMjU1NTg4ODs7Oz09PUBAQEJCQkVFRUdHR0lJSUtLS01NTU9PT1FRUVNTU1VVVVZWVlhYWFpaWlxcXF1dXV9fX2BgYGJiYmNjY2VlZWZmZmhoaGlpaWpqamxsbG1tbW5ubnBwcHFxcXJycnNzc3V1dXZ2dnd3d3h4eHl5eXp6enx8fH19fX9/f4CAgIGBgYKCgoODg4WFhYaGhoeHh4iIiIqKioyMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6ampqenp6ioqKmpqaqqqqurq6ysrK2tra+vr7CwsLGxsbKysrOzs7S0tLW1tba2tri4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2Nra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAADIAMgAAAj+AFsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWr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\" data-image-state=\"image-loaded\" width=\"100\" height=\"100\"\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: 182.5px 8px; transform-origin: 182.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Lambdaman21 was solved by Thirteen Team using tools. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=Xcm3S9VlqqY\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eThirteenTeam youtube ICFP2024\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v=Lambdaman21(m)\r\n%Manual sequence created using a display like ThirteenTeam\r\n%Draw paths from Top edge, right edge and left edge\r\n U='U';D='D';L='L';R='R';\r\n U2=repelem(U,199);\r\n D2=repelem(D,199);\r\n L2=repelem(L,199);\r\n R2=repelem(R,199);\r\n DUR=[D2 U2 R]; % Top edge\r\n LRD=[L2 R2 D]; % Right edge\r\n RLU=[R2 L2 U]; % Left edge Up\r\n RLD=[R2 L2 D]; % Left edge Down\r\n D95=repelem(D,95);\r\n D37=repelem(D,37);\r\n L100=repelem(L,100);\r\n U136=repelem(U,136);\r\n R15=repelem(R,15);\r\n R12=repelem(R,12);\r\n \r\n TE=repmat(DUR,1,200);\r\n RE=[D95 L2 D2 repmat(RLU,1,80) D37 R2 D repmat(LRD,1,104)];\r\n BE=[L100 U136 repmat(LRD,1,85) D D L2];\r\n LE=[repmat(RLU,1,90) D R15 repmat(DUR,1,21) repmat(RLD,1,5)];\r\n B3=[D37 D D R12 repmat(DUR,1,15) D37 repmat(RLU,1,6) ];\r\n v=[U2 L2 TE RE BE LE B3];\r\nend % Lambdaman21","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\nms=['........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'.................................##################.....................................................................................................................................................'\r\n'...........................#############################................................................................................................................................................'\r\n'.....................######################################............................................#########################################........................................................'\r\n'.................#############################################.........................................################################################.................................................'\r\n'...............################################################........................................####################################################.............................................'\r\n'...............##################################################......................................########################################################.........................................'\r\n'...............####################################################....................................###########################################################......................................'\r\n'...............#####################################################...................................#############################################################....................................'\r\n'...............######################################################..................................###############################################################..................................'\r\n'...............#######################################################.................................#################################################################................................'\r\n'...............########################################################................................###################################################################..............................'\r\n'...............####################............#########################...............................####################################################################.............................'\r\n'...............##############.......................####################...............................#####################################################################............................'\r\n'...............##########.............................###################..............................##############........................#################################..........................'\r\n'...............######...................................##################.............................##############...............................###########################.........................'\r\n'...............###.......................................#################.............................##############...................................########################........................'\r\n'..........................................................#################............................##############.....................................#######################.......................'\r\n'...........................................................################............................##############........................................#####################......................'\r\n'............................................................###############............................##############..........................................####################.....................'\r\n'.............................................................###############...........................##############...........................................###################.....................'\r\n'.............................................................###############...........................##############.............................................##################....................'\r\n'..............................................................##############...........................##############..............................................##################...................'\r\n'..............................................................##############...........................##############...............................................#################...................'\r\n'..............................................................##############...........................##############................................................#################..................'\r\n'..............................................................##############...........................##############.................................................################..................'\r\n'...............................................................#############...........................##############..................................................################.................'\r\n'...............................................................#############L..........................##############..................................................################.................'\r\n'...............................................................#############...........................##############...................................................################................'\r\n'...............................................................#############...........................##############...................................................################................'\r\n'...............................................................#############...........................##############....................................................################...............'\r\n'...............................................................#############...........................##############....................................................################...............'\r\n'..............................................................##############...........................##############.....................................................###############...............'\r\n'..............................................................##############...........................##############.....................................................################..............'\r\n'..............................................................##############...........................##############......................................................###############..............'\r\n'.............................................................##############............................##############......................................................###############..............'\r\n'.............................................................##############............................##############......................................................###############..............'\r\n'............................................................##############.............................##############.......................................................###############.............'\r\n'............................................................##############.............................##############.......................................................###############.............'\r\n'...........................................................##############..............................##############.......................................................###############.............'\r\n'..........................................................###############..............................##############.......................................................###############.............'\r\n'........................................................################...............................##############........................................................##############.............'\r\n'.......................................................################................................##############........................................................###############............'\r\n'....................................................##################.................................##############........................................................###############............'\r\n'................................................#####################..................................##############........................................................###############............'\r\n'..............................######################################...................................##############........................................................###############............'\r\n'..............................#####################################....................................##############........................................................###############............'\r\n'..............................###################################......................................##############........................................................###############............'\r\n'..............................#################################........................................##############........................................................###############............'\r\n'..............................##############################...........................................##############........................................................###############............'\r\n'..............................##############################...........................................##############.........................................................##############............'\r\n'..............................#################################........................................##############...................................................................................'\r\n'..............................####################################.....................................##############.........................................................##############............'\r\n'..............................#####################################....................................##############.........................................................##############............'\r\n'..............................#######################################..................................##############.........................................................##############............'\r\n'..............................########################################.................................##############.........................................................##############............'\r\n'...............................................########################................................##############.........................................................##############............'\r\n'....................................................####################...............................##############........................................................###############............'\r\n'......................................................###################..............................##############........................................................###############............'\r\n'........................................................##################.............................##############........................................................###############............'\r\n'..........................................................#################............................##############........................................................###############............'\r\n'...........................................................################............................##############........................................................###############............'\r\n'............................................................################...........................##############........................................................###############............'\r\n'.............................................................###############...........................##############........................................................###############............'\r\n'..............................................................###############..........................##############........................................................###############............'\r\n'...............................................................##############..........................##############........................................................##############.............'\r\n'...............................................................###############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############.....................................................################..............'\r\n'.................................................................##############........................##############.....................................................###############...............'\r\n'.................................................................##############........................##############....................................................################...............'\r\n'.................................................................##############........................##############....................................................################...............'\r\n'.................................................................##############........................##############...................................................################................'\r\n'.................................................................##############........................##############...................................................################................'\r\n'.................................................................##############........................##############..................................................################.................'\r\n'................................................................##############.........................##############..................................................################.................'\r\n'................................................................##############.........................##############.................................................################..................'\r\n'................................................................##############.........................##############................................................#################..................'\r\n'...............................................................###############.........................##############...............................................#################...................'\r\n'...............................................................###############.........................##############..............................................##################...................'\r\n'..............................................................###############..........................##############.............................................##################....................'\r\n'..............................................................###############..........................##############...........................................###################.....................'\r\n'.............................................................################..........................##############..........................................###################......................'\r\n'............##..............................................################...........................##############........................................#####################......................'\r\n'............###............................................#################...........................##############.....................................#######################.......................'\r\n'............######.......................................##################............................##############...................................########################........................'\r\n'............########....................................##################.............................##############...............................###########################.........................'\r\n'............###########...............................####################.............................##############........................#################################..........................'\r\n'............###############........................######################..............................#####################################################################............................'\r\n'............#####################............###########################...............................####################################################################.............................'\r\n'............###########################################################................................##################################################################...............................'\r\n'............##########################################################.................................#################################################################................................'\r\n'............#########################################################..................................###############################################################..................................'\r\n'............########################################################...................................#############################################################....................................'\r\n'............######################################################.....................................##########################################################.......................................'\r\n'............#####################################################......................................########################################################.........................................'\r\n'..............#################################################........................................####################################################.............................................'\r\n'.................############################################..........................................################################################.................................................'\r\n'....................######################################.............................................#########################################........................................................'\r\n'.........................#############################..................................................................................................................................................'\r\n'..............................###################.......................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'];\r\n\r\nsize(ms)\r\n\r\n[nr,nc]=size(ms);\r\nm=ones(nr,nc)*2; %Cheese bits are 2.\r\nm(ms=='#')=0; % Wall\r\nm(ms=='L')=1; % Landaman, start point\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nv = Lambdaman21(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\nr=1;c=1;  % Limit is 50,50 for Lambdaman10 starts at (1,1)\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\nadd 45 rows above\r\n.................................##################.....................................................................................................................................................\r\n...........................#############################................................................................................................................................................\r\n.....................######################################............................................#########################################........................................................\r\n.................#############################################.........................................################################################.................................................\r\n...............################################################........................................####################################################.............................................\r\n...............##################################################......................................########################################################.........................................\r\n...............####################################################....................................###########################################################......................................\r\n...............#####################################################...................................#############################################################....................................\r\n...............######################################################..................................###############################################################..................................\r\n...............#######################################################.................................#################################################################................................\r\n...............########################################################................................###################################################################..............................\r\n...............####################............#########################...............................####################################################################.............................\r\n...............##############.......................####################...............................#####################################################################............................\r\n...............##########.............................###################..............................##############........................#################################..........................\r\n...............######...................................##################.............................##############...............................###########################.........................\r\n...............###.......................................#################.............................##############...................................########################........................\r\n..........................................................#################............................##############.....................................#######################.......................\r\n...........................................................################............................##############........................................#####################......................\r\n............................................................###############............................##############..........................................####################.....................\r\n.............................................................###############...........................##############...........................................###################.....................\r\n.............................................................###############...........................##############.............................................##################....................\r\n..............................................................##############...........................##############..............................................##################...................\r\n..............................................................##############...........................##############...............................................#################...................\r\n..............................................................##############...........................##############................................................#################..................\r\n..............................................................##############...........................##############.................................................################..................\r\n...............................................................#############...........................##############..................................................################.................\r\n...............................................................#############L..........................##############..................................................################.................\r\n...............................................................#############...........................##############...................................................################................\r\n...............................................................#############...........................##############...................................................################................\r\n...............................................................#############...........................##############....................................................################...............\r\n...............................................................#############...........................##############....................................................################...............\r\n..............................................................##############...........................##############.....................................................###############...............\r\n..............................................................##############...........................##############.....................................................################..............\r\n..............................................................##############...........................##############......................................................###############..............\r\n.............................................................##############............................##############......................................................###############..............\r\n.............................................................##############............................##############......................................................###############..............\r\n............................................................##############.............................##############.......................................................###############.............\r\n............................................................##############.............................##############.......................................................###############.............\r\n...........................................................##############..............................##############.......................................................###############.............\r\n..........................................................###############..............................##############.......................................................###############.............\r\n........................................................################...............................##############........................................................##############.............\r\n.......................................................################................................##############........................................................###############............\r\n....................................................##################.................................##############........................................................###############............\r\n................................................#####################..................................##############........................................................###############............\r\n..............................######################################...................................##############........................................................###############............\r\n..............................#####################################....................................##############........................................................###############............\r\n..............................###################################......................................##############........................................................###############............\r\n..............................#################################........................................##############........................................................###############............\r\n..............................##############################...........................................##############........................................................###############............\r\n..............................##############################...........................................##############.........................................................##############............\r\n..............................#################################........................................##############...................................................................................\r\n..............................####################################.....................................##############.........................................................##############............\r\n..............................#####################################....................................##############.........................................................##############............\r\n..............................#######################################..................................##############.........................................................##############............\r\n..............................########################################.................................##############.........................................................##############............\r\n...............................................########################................................##############.........................................................##############............\r\n....................................................####################...............................##############........................................................###############............\r\n......................................................###################..............................##############........................................................###############............\r\n........................................................##################.............................##############........................................................###############............\r\n..........................................................#################............................##############........................................................###############............\r\n...........................................................################............................##############........................................................###############............\r\n............................................................################...........................##############........................................................###############............\r\n.............................................................###############...........................##############........................................................###############............\r\n..............................................................###############..........................##############........................................................###############............\r\n...............................................................##############..........................##############........................................................##############.............\r\n...............................................................###############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############.....................................................################..............\r\n.................................................................##############........................##############.....................................................###############...............\r\n.................................................................##############........................##############....................................................################...............\r\n.................................................................##############........................##############....................................................################...............\r\n.................................................................##############........................##############...................................................################................\r\n.................................................................##############........................##############...................................................################................\r\n.................................................................##############........................##############..................................................################.................\r\n................................................................##############.........................##############..................................................################.................\r\n................................................................##############.........................##############.................................................################..................\r\n................................................................##############.........................##############................................................#################..................\r\n...............................................................###############.........................##############...............................................#################...................\r\n...............................................................###############.........................##############..............................................##################...................\r\n..............................................................###############..........................##############.............................................##################....................\r\n..............................................................###############..........................##############...........................................###################.....................\r\n.............................................................################..........................##############..........................................###################......................\r\n............##..............................................################...........................##############........................................#####################......................\r\n............###............................................#################...........................##############.....................................#######################.......................\r\n............######.......................................##################............................##############...................................########################........................\r\n............########....................................##################.............................##############...............................###########################.........................\r\n............###########...............................####################.............................##############........................#################################..........................\r\n............###############........................######################..............................#####################################################################............................\r\n............#####################............###########################...............................####################################################################.............................\r\n............###########################################################................................##################################################################...............................\r\n............##########################################################.................................#################################################################................................\r\n............#########################################################..................................###############################################################..................................\r\n............########################################################...................................#############################################################....................................\r\n............######################################################.....................................##########################################################.......................................\r\n............#####################################################......................................########################################################.........................................\r\n..............#################################################........................................####################################################.............................................\r\n.................############################################..........................................################################################.................................................\r\n....................######################################.............................................#########################################........................................................\r\n.........................#############################..................................................................................................................................................\r\n..............................###################.......................................................................................................................................................\r\nadd 50 rows below\r\n%}\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-12T05:01:51.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-11T16:20:17.000Z","updated_at":"2026-03-11T08:39:22.000Z","published_at":"2024-07-12T05:01:52.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB$ B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L\\\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\\\" B/ v# I% BT I\\\" BD B% v# I% Sl~aF   in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, a=\u0026gt;#, IR means Integer 49, IS is 50\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\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\u003eB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\\\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\\\" BD B% vp I% SO\u0026gt;LF\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 challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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 ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\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=\\\"100\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"100\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e Lambdaman21 was solved by Thirteen Team using tools. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=Xcm3S9VlqqY\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eThirteenTeam youtube ICFP2024\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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 challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.\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.gif\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhyADIAOetAAAAAA0NDRYWFhwcHCIiIiYmJioqKi4uLjIyMjU1NTg4ODs7Oz09PUBAQEJCQkVFRUdHR0lJSUtLS01NTU9PT1FRUVNTU1VVVVZWVlhYWFpaWlxcXF1dXV9fX2BgYGJiYmNjY2VlZWZmZmhoaGlpaWpqamxsbG1tbW5ubnBwcHFxcXJycnNzc3V1dXZ2dnd3d3h4eHl5eXp6enx8fH19fX9/f4CAgIGBgYKCgoODg4WFhYaGhoeHh4iIiIqKioyMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6ampqenp6ioqKmpqaqqqqurq6ysrK2tra+vr7CwsLGxsbKysrOzs7S0tLW1tba2tri4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2Nra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAADIAMgAAAj+AFsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky48F1UmhbxUXMliA0WIjA0GFCgAYUOMoxgYVNI0yrDJFVdAkRmSAYAqFOrXs0aNYIeahx9Bq1xE58rKwi03s17N4Utj1bK6U289QEHFTiMSBEjSBUxcPwkwpSKqKpJcpRQKM69O4AWfVT+oRzuvXxvASGKiNEzaTZP8ubj8+YA6CR8+fhZJ/ChhhEqnfflJyAANmBSUoADJkhAEHyQchOCCcp3AB0kQRjhgAQM0cd/M1l4oXlLVBeShx8KCEEZochEYond3eAgSCuyiF8BVmQCU4wyEteCKTDmmKMAXJTiEo4+8raDiB0RWaR5E+zBCktKYvDDFm8M4ggmoZiSCiuqnBKKJYnQscULAuCHxUdKLmmeDZ4I11sHTsTxiJASmRIIE7qZV4hHaapZXgSKqIQgB1b00aZGoIhxQHkT8MgRjptApIopo3zCSSSF3HGGFTIkcGEAaqRE3gA9wGEgSJ78UF4ZSXIXqUb+rHBiCBgsBDCgE+6RdMcRfbxIkhu2codAihtBCtIogRyRp3xQPAmVH8EWx8ajro5ESh0r4DeFs0/F0d0H3GJkbEmFtCDfmVEN0Z0kxVZ7EiEYxMdHVJ4YwN20Go17UilWmJfAqU9twR0P7Rb3akqHLFDeCRw6ZQl3EBRM3MEpWaJBeV1ENQJ3o+Tr7kqgnODdADY+hQV37Gak70qexNtdEFDdwV0iHhv8kiUNeIfIU4pwR0jNE8M0iHcrPEUJd34A3RvFLT3hXSNOZcJdIErzxjRLpFzQ3RIOc3dI1btdzZIe3Q3wSVOQcEcJ2K2JvdIqInRnRlOAcCcK26y5vdL+H982hUZxFUi89EyscNBdyUr1UFwRgltN09/cvbFUKfYSRyHeq+m9UifR9obDUjIXx0njYdfEA3cC+GqUKh8UpwO1NtPkrddJucHdILAHTdMl3YV6FCWV94ZCuOJ+PJMF3B1xFCfIF7dIq7HTJAV3GRg1SQXcUcGn8TLNXtzdQq3yRgHckXDK9tHP1DN3zwPFCiEmdLdBJ2hyH1Mo3c3rkyVodOAdBqOrX/pmMgHurMEmrEiFKTghiUCoIQnbKY8HNDEi+8WEBtzJQkpA4ScAQMFRPRqgTJDAHSJsUE0N6EOFLAgTgRWHBSf0kQPOoLoKijAma+AOBmLIIg6ogU7+B2LhS/LAnQfwMEIhIMMkBCVEl/CtOAY4YoJOsIVCNMwkK5vJ0LhDvJFwUEYJaEKgsNhEniCpJF/0EQn80EX06a4m6ytODb3opxNATSRZlEkjugM+k6RRTVe4IvTeSJM4EgeIaOwgalSgOYvkMSaG6M4ZYzKpLyniDl3AAfniQ4G1uXFwNhFEd3ySikVooYDlYYAncwfKmvRBWEFRRR+y5R0KBJB0bbtJ6IgTMaGwQg8R5A4LJnmRR8IEcsSpHlFGoa7ubIGVjrPJyYoDg6OMoTsBgAQu83aTInAHCUhhQ3desM3M3QQG3MkYUrTQHUNgTjWNZIkDuOOGpKiCBdz++ZzKysiy7vxBKZXoHG8oWLwbvgQR3XHEUpzAnTTs06AuaUN3EPk77szgoYSUCRO4A4KmqKA4AThfMfmZElZAgDtNaIoZuBOckUKUJZPoTj2Zsgju3KGgGYWJRLkzxqWIgjtkwGkrZVID7hQAhEthQHGkINRoykQT3fnBU0BQHHC6NKcuIUN36vAUfBIHCE0tnUxWoTXu0M8pLiiOEMKaS5mQjTsqgMrGiJPSqw7VJarwH3faAJVg8sYKbOVmTHZJHAN0zCmn4I4XAmtOmIzCr72pAlQqwZ05MBaeMVmCd5b4FDvQzq5ObUndumODqCiBO4iriDFPUgmFdUebTzH+BQKK04BcUWS1JelE87jjhKgQljeMu2xq4hkSUJDAOwc4lFNSYbjixAGjd2XtabwzN6jYjjsEBa1YU2IIBZRHBuJ5iiWC15vSQje0JSlFFczzgLM6RRRx404e3jlclAyirOXZE0jwMIfwqoQUL+gOBUQqXNQQNyOE8Kp5ghoSiZKAEG0UySbiW9lyYlYko6jDR+WzWJHsFAAl2IN/R3IH13JnA8RULUkngixl5eeZI/kwaiwghtR65BE3MM/OLFxfWMkqDC0QaHw0SBIZq2YGbbgER1QhiB3EB108NrCkTkEKUFwqU2iwwgy8GyECXK7IxOmAFfSAiQgzJBSDmML+SeOTAgLTV5HxyUAkTmLk3ihABlNggx8UcYlQkAIVrEigKUBxCUb0wQxM8ICAMnC2QcI5QT/oY0nq/GjiPEDJn6y0fDaAu5RQWtOt2QDAHA1q7xSADII0yadLnRoWgMKGrOZOArhwS5WsmtVbSHGUY12BNczR07FmzQV2jMdg7+YASQiEroFtbAAk4AxuhnWzD3CEP0T7JakoRBSUWuoFdOHVZAw2A4LABkcsOyapQMQWFA3nEcgBqUGstABEYIQx8KESZs5JJuzABFTm6ARnsASUSmQABkxAAyFAQQyAMAUxvKEP0zm3UDYBiC/kYM35KUALuBCIRtNGJKFoxB5vshwEGYBAAgsgQACOkxwV+CAKX4jDITZh24/b/OY4z7nOd87znvv850APutCHTvSiG/3oSE+60pfO9KY7/elQj7rUp071qlv96ljPuta3zvWue/3rYA+72MdO9rKb/exoT7va1872trv97XAvekAAADs=\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47204,"title":"Cutoff OF Exam","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 203.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 101.81px; transform-origin: 174px 101.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the function that will return the interview cutoff  for given year.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTotal marks of Interview in 2010 were 100\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eEach year total marks got increased by 10 marks\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCutoff percentage for each year remains same which is equal to 60 percent.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction cutoff(year) will calculate cutoff marks for year y.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = cutoff(year)\r\n  y = year-2010\r\nend","test_suite":"%%\r\nyear = 2015;\r\ny_correct = 90;\r\nassert(isequal(cutoff(year),y_correct))\r\n\r\n%%\r\nyear = 2010;\r\ny_correct = 60;\r\nassert(isequal(cutoff(year),y_correct))\r\n\r\n%%\r\nyear =2018;\r\ny_correct = 108;\r\nassert(isequal(cutoff(year),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":41,"test_suite_updated_at":"2020-11-03T11:11:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:06:56.000Z","updated_at":"2026-03-05T11:50:13.000Z","published_at":"2020-11-03T11:11:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the function that will return the interview cutoff  for given year.\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\u003eTotal marks of Interview in 2010 were 100\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\u003eEach year total marks got increased by 10 marks\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\u003eCutoff percentage for each year remains same which is equal to 60 percent.\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\u003eFunction cutoff(year) will calculate cutoff marks for year y.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47340,"title":"Find Logic 19","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(0,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5,1) = 36\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value according  to problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 0;\r\ny_correct = 1;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 16;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\ny_correct = 9;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":5,"comments_count":6,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":660,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T17:39:16.000Z","updated_at":"2026-03-03T19:44:00.000Z","published_at":"2020-11-05T17:39:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(0,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,1) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = 9\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\u003elogic(2,2) = 16\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\u003elogic(2,3) = 25\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\u003elogic(4,1) = 25\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\u003elogic(5,1) = 36\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\u003eMake a function logic(a,b) which will return value according  to problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47360,"title":"Find Logic 23","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 260.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 130.286px; transform-origin: 174px 130.286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 27\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a-b;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\nassert(isequal(logic(b,a),2))\r\n\r\n%%\r\na = 3;\r\nb = 2;\r\nassert(isequal(logic(a,b),8))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(b,a),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":284,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T11:20:30.000Z","updated_at":"2026-03-17T20:20:53.000Z","published_at":"2020-11-06T11:20:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = 2\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\u003elogic(1,3) = 3\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\u003elogic(2,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2,2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,3) = 27\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60638,"title":"ICFP2024 009: Lambdaman Crawler-Backfill","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\r\n\r\nThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.","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: 696px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 348px; transform-origin: 407px 348px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 371px 8px; transform-origin: 371px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 420px; 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 210px; text-align: left; transform-origin: 384px 210px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 560px;height: 420px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"560\" height=\"420\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [pathbest]=crawler_fill(m)\r\n% This is not crawler_fill_optimal\r\n% Grab UDLR adj2\r\n% Grab UDLR adj3 if no 2s\r\n% Backfill L spot if 3 adj are Wall 0\r\n% No optimal path selection when at intersection of 2s\r\n%Crawler with backfill will solve non-loop mazes, but not guaranteed min moves\r\n%Crawler UDLR score 394\r\n %crawler 1/15 2/33 3/Fail 4/394/.09s 5/Fail 6/199/.09 7/Fail 8/4899/.21s 9/2500/.12  10/Fail\r\n %11[103x103]/9988/.33s\r\n % 12[101x101]/9992  13/9976 14/9994 15[101x101]/9986/.33s Big Unique solutions\r\n % 16[129x129]/8190/.34s 17[141x100]/Fail 18[163x290]/Fail 19[257x?] 20[256x?] 21[200x200]\r\n\r\n pathbest='';\r\n pathv=zeros(10000,1); pathvptr=0;\r\n \r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr]; % UDLR 1234\r\n \r\n% zmap=[0 0 0;1 0 0;0 1 0;0 0 1]; \r\n% figure(1);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n \r\n Lidx=find(m==1);\r\n% ztic=tic;\r\n while nnz(m==2)\u003e0\r\n%  if toc(ztic)\u003e1\r\n%    fprintf('ztic Timeout\\n');\r\n%    break;\r\n%  end\r\n  \r\n  vadj=m(adj+Lidx);\r\n  m(Lidx)=3;\r\n  if nnz(vadj==0)==3\r\n   m(Lidx)=0; % cul-de-sac  Backfill\r\n  end\r\n  \r\n  if nnz(vadj==2)\u003e0\r\n   ptr=find(vadj==2,1,'first');\r\n  else % only 3s adj\r\n   ptr=find(vadj==3,1,'first');\r\n  end\r\n  Lidx=Lidx+adj(ptr);\r\n  m(Lidx)=1;\r\n  pathvptr=pathvptr+1;\r\n  pathv(pathvptr)=ptr;\r\n  \r\n%   if mod(pathvptr,100)==0\r\n%    figure(2);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n%    pause(0.05);\r\n%   end\r\n  \r\n end % while m==2\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(pathv(1:pathvptr));\r\n \r\n %if nnz(m==2)\u003e0\r\n % fprintf('BestPath:');fprintf('%s',pathbest);fprintf(' Uneaten:%i\\n',nnz(m==2));fprintf('\\n')\r\n %else\r\n % fprintf('Solved Path:');fprintf('%s',pathbest);fprintf('\\nLength:%i\\n',length(pathbest));\r\n %end\r\n \r\n%figure(4);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n \r\nend % crawler_fill\r\n\r\n","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 4  optimal solution L348 DDLLRRUULLUUUUDDDDLLUULLUURRLLDDRRDDRRRRRRLLUUUURRRRRRDDRRRRUURRLLDDRRLLLLLLUURRLLLLLLLLDDRRRRDDDDLLRRDDLLDDLLUUDDRRDDRRLLDDLLDDDDUUUUUULLDDDDDDLLRRUULLLLUURRUUDDLLDDDDUURRRRUUUUUULLUUUUDDRRLLDDLLUUUUUUDDDDDDDDUURRRRDDRRDDRRDDDDUURRDDUURRDDUULLLLUUUUUUUURRUURRRRLLUURRRRRRLLDDRRDDDDDDDDLLRRUULLRRUUUULLLLRRDDLLLLUUDDLLRRDDRRDDLLLLRRRRDDDDRRRRLLUURR\r\n ms=[ ...\r\n'...#.#.........#...'\r\n'.###.#.#####.###.##'\r\n'...#.#.....#.......'\r\n'##.#.#.###.########'\r\n'.#....L..#.#.......'\r\n'.#####.###.#.###.##'\r\n'.#.#...#.......#...'\r\n'.#.#######.#######.'\r\n'.#...#.#...#.#.....'\r\n'.#.###.#.###.###.#.'\r\n'.....#...#.......#.'\r\n'.###.###.###.#####.'\r\n'.#.#...#...#...#...'\r\n'##.#.#.#.#####.###.'\r\n'...#.#...#.....#...'\r\n'.###.#.#.#####.####'\r\n'.....#.#.....#.#...'\r\n'.###.#.#.#.#.#.#.##'\r\n'.#...#.#.#.#.#.....'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=400 % Lambda4\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=400 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26\r\n ms=[ ...\r\n      'L...#.'\r\n      '#.#.#.'\r\n      '##....'\r\n      '...###'\r\n      '.##..#'\r\n      '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=40 % Lambda2 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=40 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 9  optimal solution L2499 50x50 L in top lesft\r\n ms=repmat('.',50,50);\r\n ms(1)='L';\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=2500 % Lambda2 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=2500 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 11[103x103]/9988/.33s\r\n%Lambdaman 11  optimal solution ?\r\n ms=[ ...\r\n'#####################################################################################################'\r\n'#.#.....#.......#.#.......#...#...#.......#...#.......#.#.......#...#.....#.....#.....#.......#.....#'\r\n'#.###.###.#####.#.###.###.#.###.#.#.#######.#######.###.#.###.###.#####.#.###.#######.#.#.#########.#'\r\n'#...#.#.....#.....#.....#...#...#.....#.........#.#.......#...#.........#.....#...#.#...#.#.........#'\r\n'#.###.###.###.#.#########.#.#.###.#.#.#.###.#.###.###.#################.#######.#.#.###.###.#.###.###'\r\n'#.#.#.....#...#...#.#.#...#.#.#...#.#.#...#.#.#...........#.....#.......#.#.#...#.#.........#...#...#'\r\n'#.#.###.###.#######.#.#.#######.#####.#.#.###.###.#.#####.#####.#.###.#.#.#.###.#.#.#####.#####.#####'\r\n'#.......#.#.#.....#.........#.....#...#.#...#...#.#.#...#.#...#.#...#.#.#.....#.#.....#.....#.#.....#'\r\n'#####.#.#.###.#.###.#.###.#.#.#######.#.#.###.###.#.#.#######.#.###.#####.###.###.#.#.#.###.#.#.###.#'\r\n'#...#.#.#...#.#...#.#...#.#.......#.#.#.#.#.#...#.#.#.......#.......#.....#...#.#.#.#.#.#.....#.#.#.#'\r\n'###.###.#.###.#####.#######.#.#####.#.#.###.#######.#####.#.#####.#.#.#.#####.#.#.###########.#.#.###'\r\n'#...#.........#.........#.#.#.#...#.........#.........#.#.#...#...#...#...#...#.#...#...#.....#.....#'\r\n'###.#.#.#.###.#####.#.###.###.###.###.#############.###.#####.###.###.###.#.###.###.#.###.#########.#'\r\n'#.#...#.#.#...#.....#.#.....#.#.#...#.....#...#...#.#.............#...#...#.#.....#.#...#.........#.#'\r\n'#.###.###.###.###.#####.###.#.#.###.###.###.#####.#.#.###.#############.###.#####.#.#.###.#####.#####'\r\n'#.....#.....#.........#.#.....#...#.........#.#.#...#...#.......#...#.#.#...#...#.....#.....#.......#'\r\n'#.#.###.###.#.#.#################.#.#####.###.#.#.#.#.#####.###.###.#.#######.###.#####.#.###.###.###'\r\n'#.#.#.#.#...#.#...#...#...#...#.......#...#.#...#.#.#.....#.#...#.....#...........#.....#.#.#...#.#.#'\r\n'#.###.###.#.#######.###.#####.#.###.#.#.###.#.###.#############.###.###.###.###.###########.#.#.###.#'\r\n'#.#.....#.#.#.....#.#.......#.#...#.#.#.#...#.......#.#.....#.#.#.....#.#.....#.#.......#...#.#.#.#.#'\r\n'#.###.#######.#####.#.###.###.#.###.#.#####.#.#.#####.###.###.#.#.#######.#####.#.###.###.###.#.#.#.#'\r\n'#.#...#...#.....#.#...#...#.#.#.#...#.#.#.....#.#...#.....#...#.#.....#...#.......#.........#.#.....#'\r\n'###.#.###.#.#.###.#.#.#.#.#.#.###.#####.###.#.#####.###.#.#.###.#####.###.#.###.#######.###########.#'\r\n'#...#.#.#...#...#...#.#.#...#.#.#.#.........#.#...#...#.#.............#...#.#.......#.....#.....#.#.#'\r\n'###.###.#.###.#####.#######.#.#.#.#######.###.#.#####.#.#.#####.###.#.#.###########.#########.#.#.###'\r\n'#...#.#...#.#.#.#...#.....#.....#.......#...#.#...#.....#.#...#...#.#.#.#...#.#.#.....#.....#.#.....#'\r\n'#.###.#.###.#.#.#.#####.###.#####.#.#.#####.###.#####.#####.#######.#######.#.#.#####.#.#.###.#.#.#.#'\r\n'#.....#.#.#...#.#.....#...#...#.#.#.#.......#...............#.....#...#.....#.........#.#...#.#.#.#.#'\r\n'#.###.###.###.#.#.#.###.#####.#.#.#######.#.###########.###.#.#########.#.#########.#.#.###########.#'\r\n'#.#.#...#.#.......#.#...#...#L#.......#.#.#.....#...#...#.#.#.#...#.#...#...#.#.....#.....#.....#.#.#'\r\n'#.#.###.#.#####.###.###.###.#.#.###.###.###########.#.###.###.###.#.#.#######.###.###.#.#####.###.#.#'\r\n'#.#...........#.#.....#.#.#...#...#.#...#.......#.#.#...........#.....#.#.......#.#...#.#.....#.#...#'\r\n'###.###.###.###.###.###.#.#.###.#####.#.#.#.#####.#.#.#########.#.###.#.#.#.#.#####.#########.#.#.###'\r\n'#...#...#.#...#.#...#.#.#.....#.....#.#.#.#.............#.#.....#.#.#.....#.#.#.........#.#.....#...#'\r\n'#######.#.#########.#.#.###.#####.###.###.#######.#####.#.#####.###.#.###.###.#.###.#.###.###.#.#.###'\r\n'#.....#.........#...#.......#...#.#.......#.#...#.#...........#.#.....#.....#.#.#.#.#.....#...#.....#'\r\n'###.###.###.#.###.#.#.#####.###.#.#####.###.###.#.###.#.#.#.#######.#####.###.###.#.###.#####.#.#####'\r\n'#.#...#.#...#.#...#.#.#...#...#.......#.....#.......#.#.#.#...#.......#.....#.#...#...#...#.#.#.....#'\r\n'#.#.#######.###.#########.#.###.#####.###.#.#.#######.#######.#.#.#.#######.#####.#.#.#.#.#.#######.#'\r\n'#.#.......#.....#.....#.....#...#.......#.#.#...#.....#.#...#...#.#.....#.#.#...#...#.#.#...#.#...#.#'\r\n'#.#.#.###.#####.#.#######.#####.#############.#########.###.#.#########.#.#####.#.###.#.#####.#.#.#.#'\r\n'#.#.#.#.#.#.....#.....#.....#.................#...#.....#.........#.........#...#.#...#.........#...#'\r\n'#.###.#.#.#.#.###.###.###############.###.#####.#.#####.#.#.###.#########.###.#####.###.###.#.#######'\r\n'#...#.#.....#...#.#...#.#.........#.....#...#.#.#...#...#.#.#...#...#...#.#.#.#.#.#.#.#.#...#...#...#'\r\n'#.###.###.###.###.###.#.#.###.#.###.#######.#.#.#.#.###.#.#######.#.#.#.###.#.#.#.###.#.#####.#.#.###'\r\n'#.......#.#...#.#...#...#.#.#.#.........#.....#.#.#...#...#...#.#.#...#.#.......#.#.#.......#.#.#...#'\r\n'#.###.###.###.#.#.#####.###.#.###.#.#.###.###########.#.#####.#.#.###.###.#####.#.#.#.#####.###.#.#.#'\r\n'#...#.#.#.#...#...#.....#.#...#...#.#...#.#.........#...#...........#.....#.#...#.........#...#...#.#'\r\n'#.#.###.###.#######.#####.#.###############.#.#.###.#.###.#########.#######.#.#########.###.#####.###'\r\n'#.#.#.........#.#.....#.#.#.#.#...#...#.#.#.#.#...#...........#.#...#.#...........#...#...#...#.....#'\r\n'#####.#########.#.###.#.#.#.#.#.#.###.#.#.#.###############.###.#.###.#####.#.#.#####.#.#######.#.###'\r\n'#.........#.......#...#.......#.#.#...#.......#.....#.....#.#...#.....#.#...#.#.#...........#...#.#.#'\r\n'###.###.#######.###.#####.#####.#.#.#.###.#.###.###.#.#####.#.#####.#.#.#.#.#####.#####.#.#.#####.#.#'\r\n'#.....#.#.#.......#...#.#.....#.#...#...#.#...#.#.#.#.....#.#...#...#...#.#.......#.....#.#...#.....#'\r\n'###.#.###.#.###.#.#####.#.#########.###########.#.###.#########.#######.#########.#####.###########.#'\r\n'#...#.......#...#.....#.#.#.#.#.#.......#...#...#...#.....#...#.#.#...#.......#...#...#.#.......#...#'\r\n'#.#.#########.#.#.#.###.#.#.#.#.#.#.#####.#####.###.###.#####.#.#.###.#.###.###.#.#.#.###.###.###.#.#'\r\n'#.#...#.#.#...#.#.#.........#.#.#.#.#...#...........#.....#.#.#...#...#...#.#.#.#...#...#.#.#.#...#.#'\r\n'#.#####.#.###.#.#######.#.#.#.#.#.###.#######.###.###.#.#.#.#.#.#####.#######.#.###########.#.#####.#'\r\n'#.#.#.#.......#.#.......#.#.#.#...#.......#.....#...#.#.#.#.#...#.#.......#...#.#.....#.#.....#.....#'\r\n'###.#.#####.###########.###.#.#.#.#######.#.###.#.###.#.###.#.###.###.###.#.#.###.#####.#####.#.#.###'\r\n'#.....#.#.#...#.....#...#.#.....#.#.....#...#...#.#.#.#.....#.......#...#...#...#.#.......#.....#.#.#'\r\n'#.#####.#.#.#.#.###.###.#.#.#######.#####.#####.###.#.#######.#######.#.#####.###.#######.#####.###.#'\r\n'#.#...#.#...#...#...#.....#.....#.#.#.#.......#.....#...#.....#...#...#.#.#.#...#...#.#.....#.......#'\r\n'#.###.#.#.#.#.#####.#.#.###.#####.#.#.###.#.###.#######.#.#.#####.#####.#.#.#####.###.#.#.###.#.###.#'\r\n'#.......#.#.#.#.#...#.#.#.......#.#.......#.#.#.......#...#.#.#.#.#...#...............#.#.#...#...#.#'\r\n'#.#####.#.#####.#.#####.#.#.#####.###.#######.###.#.###.#.###.#.#.###.#####.#####.#######.###.#######'\r\n'#.#.#.#.........#...#.#.#.#...#.....#.#...#.....#.#...#.#.#...#.#...#...#...#.#...#.......#.......#.#'\r\n'###.#.#.#####.#######.###.###.#.#####.#.###.###.#.#.###.###.#.#.#.#.###.###.#.#######.###.#.#.###.#.#'\r\n'#.........#.....#.......#.#...#...........#...#...#...#...#.#.....#.#.........#.#.....#.#...#...#...#'\r\n'###.#####.#.#.#####.#####.#############.###.###.#####.#.#########.#########.###.#####.#.#.#######.#.#'\r\n'#...#.....#.#.#...#.#...#.....#...#.#.#...#.#.....#...#.........#...#.#.#...#.#.#.#.#.#...#.#.#.#.#.#'\r\n'###.###.###.#.###.#.#.###.#.#####.#.#.#########.###.###.###.###.###.#.#.###.#.#.#.#.#######.#.#.#.#.#'\r\n'#.#.#...#...#.#...#.....#.#.#.....#.....#.#...#.#.#.....#...#...#.......#.....#.#.....#.#.#.......#.#'\r\n'#.#####.#.#######.#.#.###.#.#.#.#.#####.#.#.#####.#.#########.#######.#####.###.#.#.#.#.#.#.#####.###'\r\n'#.....#.#.#...#...#.#.....#...#.#...#.#...#...#.#...#...........#.#.....#...#...#.#.#.#.#...#.#...#.#'\r\n'#.#.#####.#.###.###.#.#.#####.#######.#.###.###.#.#######.#####.#.#.#######.#.#####.#.#.#####.#.###.#'\r\n'#.#...#.#.#.#.#.#...#.#.#.............#.#.....#.....#.#...#.....#.#.....#.#...#.#.#.#...#.#...#.....#'\r\n'#.#.#.#.#.#.#.#.#####.###.#####.#######.#####.#.#####.#####.###.#.###.#.#.#.###.#.#####.#.###.#.###.#'\r\n'#.#.#.#...#...#.#.....#.#...#...#.#.#...#.....#...#.#.#.......#.....#.#...........#.......#.......#.#'\r\n'#.###.###.###.#.#.#####.#####.#.#.#.###.###.#####.#.#.#.###.#.#######.###.###.#.###.#####.#.###.###.#'\r\n'#...#.#.#.#.......#.......#.#.#.#...............#...#.#.#...#...#.#...#.....#.#.#.#.#.#...#...#.#...#'\r\n'#.#.###.#.#######.#.###.#.#.#.###.#########.#.#######.#######.###.#####.#########.###.###.#######.###'\r\n'#.#.#.#...#...#...#...#.#.#...#.#.#.#...#...#.#.....#.#...#.#.....#.#...#.#.......#.#.#.#.#.....#.#.#'\r\n'###.#.#######.#.#.#######.#####.#.#.###.#.###.#.#.#.#.#.###.#.#.###.###.#.#####.#.#.#.#.#.#.###.###.#'\r\n'#.......#.#.#...#...#.#.....#.....#.#.......#.#.#.#.....#.....#.......#.........#.#.........#.....#.#'\r\n'#####.###.#.#####.###.#.###.###.###.#####.#####.#####.#.###.###.###.#.#.#######.#.#.#.###.#######.#.#'\r\n'#.....#.#.....#...#...#...#...#.#.........#.....#.....#...#...#.#...#.....#...#.#...#...#.#.#.#.#...#'\r\n'#####.#.#.#.#.#.#####.#.#.#######.#.###.#.#.###.#.#.#.#.###.#####.#########.#.#####.#####.#.#.#.#.#.#'\r\n'#...#.#...#.#...#.......#.#.......#.#.#.#.#...#.#.#.#.#.....#...#...........#.#...#.#.........#...#.#'\r\n'#.#.#.#.#.#.#.#.#.#.###.#########.###.#.#.###.###.#####.#####.#.#.#.#.#.#######.#######.#.###########'\r\n'#.#.....#.#.#.#...#...#...#...#.......#.#.#.....#.#.#.....#...#.#.#.#.#...#.#.......#...#.#...#.#...#'\r\n'#####.###.#####.#.#########.###.#.#.#########.#####.###.#.#.#.#.#####.###.#.###.###.#.#.###.#.#.#.###'\r\n'#...#.#...#...#.#...#.....#.....#.#.......#.......#.#...#...#.#.#.#...#...........#.#.#.#...#.......#'\r\n'#.#.###.#####.#.#######.###.#######.#.#.#.#####.###.#######.#.###.#####.#.###.#####.#######.#####.#.#'\r\n'#.#.....#.#.......#.........#.......#.#.#...#.........#.....#...#...#...#.#.#...#.........#...#...#.#'\r\n'###.###.#.#######.#.###.#######.#.#.#.###.#.#######.###.#.#.###.#.#########.#.#.###.#####.#####.###.#'\r\n'#...#...#...#...#...#...#.#.....#.#.#...#.#.........#...#.#...#.#...#.........#...#.#.#.#.#.....#.#.#'\r\n'###.#.###.###.#.###.#####.#######.#.#.###.###.#######.###########.#.#.###.#######.#.#.#.#.###.#.#.###'\r\n'#...#.........#.#...........#.....#.#.#.....#...#...............#.#...#.....#.....#...#.......#.....#'\r\n'#####################################################################################################'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 15[101x101]/9986/.33s\r\n%Lambdaman 15  optimal solution ?\r\ns15='######################################################################################################...#.#...#.....#...#.......#...#.#.#.#.#.........#...#.......#.#.#...#...#...#...#.#...#.#.......#.##.###.#.#####.###.#.#####.#.#.###.#.#.#.###.#.#.#.#.###.#######.#.#.#.#.###.#.#.###.#.#.#.#.#.#.###.##.#...#.......#.#.#.......#.#.#.......#.....#.#.#.#.....#...........#...#...#.#.....#.#.#.#.#.#.#...##.###.###.#####.#####.#######.###.#.#####.#.###########.#######.#############.###.###.###.#.#.#####.##.#.#.............#.#.#.#.#.......#...#...#.#.........#.......#...........#...#.#.#.........#.......##.#.#####.###.#####.#.#.#.#.###########.#####.###.#.###.#.#########.###.#.#.###.#.###.###########.#.##...#.....#.....#.....#.....#...#.......#...#...#.#.#.#.#.....#.#.....#.#...#.#.......#.........#.#.####.###.#############.#.#####.###.###.###.#########.#.###.#####.#.###.###.#.#.#.#############.###.####.#.....#.#.#...#...#...........#...#.............#...........#...#.#.#...#.#.#.......#.....#...#...##.#.#####.#.#.###.#######.###.###########.#.#####.###.#.#####.#.#.#.#.###.#.#.###.#.###.#####.########.....#.....#.#.............#.....#.#.....#.#...#.....#...#.#...#...#.#.#.#.#...#.#...........#.....##.###.###.#.#.#.#.#.###.###.###.###.#.#########.#.#.###.#.#.###.#.#.#.#.#####.#####.###.#.###.###.#.##.#.......#.....#.#...#...#.#.....#.#.#...........#.#...#.#.#...#.#.#...#.......#.#.#...#.#.......#.######.#.#.###.#####.#######.#####.#.#.###.#####.#########.#.#########.#.#.###.#.#.#######.#.#.#.######.#.#.#.#...#...#.#...#...#...#.#.#.#.#...#...#.#...#...#...#.....#...#...#...#.........#.#.#.#.....##.#.#.#########.#.###.#.###.#.#.#.#.#.#####.#####.###.#####.###.#####.###########.#.#.###########.####...#.....#.#.#...#.....#...#.#...#.#.#.....#.#.....#.......#.....#...#...#...#.#.#.#.#.#.#.........##.###.###.#.#.#####.#####.#####.###.#.#.#.###.#.#####.#####.#.#.#####.#.#####.#.###.###.#.###.#####.##...#...#.#...#.........#...#...#.....#.#.....#.........#...#.#...#...#.#.#...#.......#...#.#.....#.####.###.###.###.#.#########.#.#########.#############.#.###.#####.#.###.#.###.#####.#.#.###.#####.####.........#.....#.....#...#.#.#.............#.....#...#...#.....#...#.......#.....#.#.#.............####.###.#############.#.#####.#####.#####.#.#.#######.#####.###########.#########.###.#.###.#.#####.##.#.#.....#...#...#.#.#...#.......#.#...#.#.#.....#...#.......#.............#.#...#.#.#...#.#.#...#.##.#######.#.#####.#.#.###.###.#####.###.#.#######.###.#####.#.#######.#######.###.#.#.#.###.#.#.###.##.........#.......#.#.......#.#.....#.#...............#.#.#.#.#.....#.#.#.#...#...#...#.#.#.#.....#.########.#######.###.#####.#####.#####.#.###.#######.###.#.###.###.#.#.#.#.#.#####.#.#.###.#########.##...#...#.............#.#.....#.#.#.....#.......#.#...#.#.#.#.#.#.#.........#...#.#.#.........#.#...##.#.#####.###.#.###.###.#.#.###.#.#.#.###.###.###.#.###.#.#.###.#.#.#####.#.#.#.#.#.#########.#.#.#.##.#.#.....#...#.#...#...#.#.......#.#.#.#.#.#.#.#...#.......#.#...#...#.#.#.#.#...#...#.#...#.....#.####.###.###.#.#.###.###.###.#.#######.#.#.#.###.#######.###.#.#.#.#####.###.#.#.#.#.###.#.###.#.######.......#...#.#.#...........#.#...#.#.#...#.....#.......#...#...#.........#...#.#.#...#.#.....#...#.####.#.#.###.#########.#.#.#.#.###.#.###.#.#.#.#.#.#####.#######.#####.#######.###.###.#.#.#.###.###.##...#.#...#...#...#.#.#.#.#.#.#.......#.#.#.#.#.#...#.....#...#.#.#.#.#.#...#.#.#.....#.#.#.#.#.....##.###.###########.#.#.#######.#####.#####.#####.#####.#.#####.###.#.###.#.###.#.#.###.#.###.#.#.#.####.#...#.#.....#.#.#.#...#.#.....#.#.....#.#.......#...#.......#.....#...#.....#...#.......#.#...#.#.####.#.#.#.###.#.#.#.#.#.#.###.###.###.###.#.###.#.#####.#.#.#.#.#.#.###.#########.###.###.#######.#.##...#.#...#...........#.#.#...#.........#...#...#.#.#...#.#.#...#.#.#.........#...#.....#.#.#.#.#...########.#####.#.###.#####.#.#######.#.###.#.#####.#.###.#.###########.#.###.#.#.#########.#.#.#.###.##.#...#.....#.#.#...#.......#.....#.#.....#...#.#.#.#...#.#.#...#.....#.#...#.#...#.#.#.#.#.#.#.#...##.###.#.#.#######.#.#########.###.###.#####.#.#.#.#.#.#####.###.#.#.#####.#####.###.#.#.###.#.#.#.####.#...#.#.#.#...#.#.............#.#.....#...#.#...#...#...#.....#.#...#.......#.#.........#.........##.#.#.#.###.###.###.###.#.#.###########.#.#####.#####.#.###.###.#.#.#########.#.###.#.#####.#.#.######.#.#.#.#...#.#.....#...#.#...#...#.....#.#...#.........#.#.#.#.#.#...#...#.....#...#.#...#.#.#.#...##.###.#.#.#.#.###.#############.###.#######.###.#.#.###.#.###.#.#.#####.###.###.###.#.#.#######.#.#.##.....#...#...#...#.#.#...#.....#.......#.....#.#.#.#...#...#.#.......#.......#...#.#.......#.....#.####.###.#.###.###.#.#.###.#.###.#########.###.###.#########.#.#.###########.#######.#############.####.#.#...#...#.#...........#...#.........#.#...#.#...#.........#.......#...#...#.#.....#...#.....#...##.#.#####.###.#########.#.###.###.#.###.#.###.#.#.#####.###.###.#.#####.#.###.#.#####.###.#.#######.##...#...#...#.#.........#.#...#.#.#.#.#.....#...#.....#.#...#...#.#.....#.#.........#...............##.#####.#.#########.###.###.###.#####.#.#####.#.###########.#.###.#######.#################.#.#.#.#.##...........#...#...#.#.#.....#.....#.......#.#.#...#.#.#.#.....#.#...........#.......#...#.#.#.#.#.######.#####.###.###.#.###.#.#######.#.#.#.###.###.#.#.#.#.###.#######.###.###.#####.#####.#.##########.........#.#...#.....#.#.#...#.....#.#.#.#.......#.#.#.#.....#.#.......#.#...#.#.#.......#.........############.#.###.#####.###.#####.#####.#######.#####.#.###.#.#.###.###.#####.#.#.###.###.#.###.###.##...#...#.....#.#...#...#.........#.#.#.#...........#...#...#.......#.......#.#.#...#.#.......#...#.####.###.###.#.#.###.#.###.###.#.#.#.#.###.#########.#.###########.###.###.#####.#.###########.########...#.#.....#.#.#.....#.#.#.#.#.#.#...#.....#.#.........#.#.........#.#.......#...#.#.......#.#.#.#.####.#.###.#.###.#.###.#.###.#.###.###.###.#.#.#.###.###.#.###.###.###.###.#.#####.#.#####.#.#.#.#.#.##.#...#...#...#.#.#.#.#...#...#.....#...#.#...#.#...#...#.#...#...#...#...#.#...#.........#.#.......##.#.#.###.#.###.###.###.###########.#.###.#.#########.###.###.#.#.#.###########.#.#########.###.#.####...#.#.#.#.....#.#.........#.#....L#...#.#...#.......#.#.....#.#.#.#.........#...#...#.#.......#...######.#.###.#.###.#######.#.#.#.#####.#.#########.#####.#.#.#####.###.#############.###.###.#####.#.##.#.......#.#.#.....#.....#.........#.#.....#.......#.#...#.#...#.#...#.#.#...........#...#.#.#.#.#.##.###.###.#####.###.#.###########.###.#.#.###.#######.#.#######.###.###.#.###.#.#####.#.#.#.#.#.#.####.......#.#.....#...#...#...........#.#.#.#...........#...#.......#.......#.#.#...#.#...#.#.#.......########.###.#####.#########.###.#.#.#.###############.###.#.###.#######.###.#######.#.#.#.#.##########.........#.#.#.#.......#...#...#.#.........#.....#.......#...#...#...........#.......#.#.#...#.....########.#####.#.#.###.#.#.#####.#######.#.#.###.###.#.###.#.#######.#.#.#.###########.#.#.#.#####.####.......#...#.....#.#.#.....#.....#.....#.#.#.#.....#.#.#.....#...#.#.#.#.....#.......#.#...#.#...#.##.###.#.#.###.#.###.###.#####.#.###.###.#.###.#.#.#.###.###.#.###.#####.#########.#.#######.#.###.#.##.#.#.#.....#.#...#...#...#...#.#.....#.#.....#.#.#...#.....#.#.....#.#.#.#.#.....#...#.#...#.......####.#.#####.#.#.#.###.#.###.#########.#.#.#######.###.#.#.#######.###.#.#.#.###.#######.#.#.#.###.####.#...#.#.#...#.#...#...#.#.#.#.....#.#.#.#...#.#.#...#.#.#.#...#.#.....#.......#.........#...#.#...##.###.#.#.#####.#####.#.#.###.#.#####.#####.###.#.#.#######.###.#.###.#.###.###.#.###.#####.###.###.##.....#...#.#.#.#.....#.#.........#...........#...#.#.#...#.#.#.#...#.#.#.#.#...#.#...#...#...#...#.######.#.###.#.###.#####.#.###.###.#.#.#####.###.#.#.#.###.#.#.#.###.#.#.#.#.###.###.#.#.#.#.###.######.....#...#.#.#.#.#...#.....#.#...#.#...#...#.#.#.#...........#.#.#...#.#.#.#.....#.#.#.#.#.#.#.....####.#####.#.#.#.###.#.###.#####.#.#.#####.###.#.###.#######.#.#.#.#.#.#.#.#.#.#####.#####.#.#.#.#.####.....#...#...#.#...#...#.#.#.#.#.#.....#.#.#.#...#...#...#.#...#.#.#.#...#.#.#.#.....#.....#...#...##.#.#####.###.#.###.#######.#.#############.#.#.#####.#.#.#.#####.#.#########.#.#########.###.#####.##.#...........#.#...#.....#...#.........#.....#.#...#.#.#.......#.......#...........#.#.......#.#.#.##.#.###.#.#.#.#.###.#.###.###.#######.#.#.#.#####.#.#.#######.#####.###.###.#.#####.#.#####.###.#.####.#.#.#.#.#.#...#...#.#.#...#.....#.#.#...#.#.....#.#...#.....#.....#...#...#...#.....#.......#.....##.###.###.#.###.###.###.###.###.###.#######.#.#.###.#####.#.#########.#########.###.#.#.#######.###.##.....#...#...#...#.....#.#...........#...#...#.#.#.#.#...#...#.........#.#.....#...#.#.#.#...#...#.##.#.#.###############.#.#.#.###.###.###.#.#####.#.#.#.###.###.#########.#.#############.#.#.#####.#.##.#.#.....#.......#...#.#...#...#.#...#.#.......#...#.#...#.........#...#...#...#.......#.....#...#.##.#######.#.#####.#.###.#.#.###.#.###########.###.#.#.###.#######.#.#.#####.###.#######.#.###.#####.##.#.#...........#.#.#...#.#...#...#.#.......#...#.#.....#.#.#.....#.........#.#.#...#.#...#.#.....#.##.#.###.###.#.#.###.#######.###.#.#.###.#.###.#####.#######.#.###.###.#####.#.#.#.#.#.###.#.#####.#.##.....#...#.#.#.......#...#.#.#.#.......#...#...#.....#.#.#.#.#.#.#.....#.#.#.....#...#.#.#.....#...##.#.#.###.###.###.#.###.#.#.#.###########.###########.#.#.#.###.#.#.#.###.#######.#####.#.#.###.#.#.##.#.#...#.#...#...#.....#.....#...#.#.......#.#.......#.#.....#...#.#.........#.......#...#...#.#.#.####.#######.#########.#####.#####.#.#.#####.#.#.#######.#.###.###.###.#.#####.#.#######.###.###.###.##...#.....#...#.#...#.....#.........#...#...............#.#.#.....#...#.#.#...#...#.........#.#.#...####.#.#.###.#.#.###.#.#.#.#####.#.###.###########.#.#.#####.#.#########.#.#.###.#.###.###.#.#.#.###.##...#.#.....#.#...#.#.#.#.#.#...#.#.....#...#.....#.#.....#...#.......#...#.#...#.#...#...#.#.#...#.##.#####.#.#.#.#.###.#.#####.#.#####.#.###.#####.###.#.#.#.#####.#.###.#.###.#.#####.#.#.#####.#.#.####.....#.#.#.#.....#.........#.....#.#...#.......#...#.#.#.....#.#...#...#.........#.#.#...#.....#...######################################################################################################';\r\nms=reshape(s15,101,101)';\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n% \r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 14[101x101]/9994\r\n%Lambdaman 14  optimal solution ?\r\ns14='######################################################################################################.......#.......#.......#...#.....#.....#.........#.#.........#.......#.#.....#.#.....#.#.....#.....##.###.#######.#.#####.#####.###.###.#####.#.#.###.#.#.###.###.#.###.###.#.#.###.#.###.#.#.#.#.###.####...#.....#...#...#.#.......#.....#...#.#.#.#.#...#...#.#.#...#.#...#.#...#.#...#.#.#.#.#.#.#.......##.#.###.#.#.#######.#.#.#.#####.#.###.#.#.#####.#######.#.#####.###.#.###.#####.#.#.###.#.#.#####.#.##.#...#.#...........#.#.#.....#.#.#.....#...#.#...#.#.....#.#.#.#.................#.#.....#.#.....#.####.###.#######.###.###.#####.#.#.#.#.#.###.#.###.#.#####.#.#.#######.#.#########.#.#.#.#########.####...#.......#.....#...#.....#...#...#.#.....#.......#.#.....#.....#...#...#...#...#...#.........#...######.#########.#####.#.#.#.#####.#####.#.#####.#####.#.###.#.###########.#.#.###.#.###.#######.###.##.#.#...#.#...#...#.....#.#...#...#.....#.#.....#...#...#.......#.#.....#.#.#.#...#...#.#.#.#...#.#.##.#.#####.###.###########.#############.#.###.###.###.#########.#.#.###.###.#####.#######.#.#.#.#.#.##.....#.....#.......#.............#.#...#.#.#.#.....#...#.....#.#...#.......#.............#...#.#.#.####.#####.###.#####.#########.#####.#.###.#.#####.###.#####.#.#.#.###.###.#####.###.#####.###.#.#.#.##.#.....#.........#.#...#...........#.#...#.....#.#.#.#...#.#.......#...#.....#.#...#.....#.#.#.#.#.##.#####.#.#.#.###.#.###.#####.#######.#######.#.#.#.###.#.###.#.###########.###.#####.#.#.#.#.#.#.#.##.....#.#.#.#...#.#.#...........#.#.....#.....#...#.....#...#.#.#.....#.............#.#.#.....#.#...####.#.#.#.#.#####.#####.###.###.#.#####.#.#####.###.###.#.#.#####.###.#######.#.#.#####.##############...#...#.#...#...#.#.#.#.....#.....#.....#.........#...#.#.#.....#...........#.#.#.........#...#...####.#.#.###.###.#.#.#.#####.#.#.#######.###########.###.#######.#.#######.###.#.#######.#####.#.#.####.#.#.#.#.....#.#.#.#...#...#.#.#...#...#...#.#.#...#.#.....#.#.#.......#...#.#.....#.....#...#.....##.#####.###.#####.#.#.#######.#####.#####.#.#.#.#####.#.###.#.#.#####.#.###.###########.#######.######...#.........#...........#.......#...#...#.#.#.#.#.#.....#...#.....#.#.#...#.....#.#...#.#.#.....#.##.#.#.###.###.#############.###.#.#.#.#####.#.#.#.#.#######.#####.#############.#.#.###.#.#.#.###.#.##.#.#.#.#.#...#...#.......#.#...#.#.#.#.#.#.....#.#.#.#.....#...#.........#.....#.........#.#.#.#...####.#.#.#########.#.#####.#####.###.###.#.#.#.#.#.#.#.###.#.###.#.#################.#######.###.#.####.....#...#.#.......#.#.#...#.#...#...#.....#.#.#...#.#.#.#.#...#...#.#...#.......#.....#...#.#.#...####.###.#.#.#######.#.#.###.#.#####.#####.###.#.###.#.#.#.#####.#.#.#.#.#.#.#.###.#.#######.#.#.#.####.......#...........#.......#...#.....#.#.#...#.#.#...#...........#.#...#.#.#.#.....#.#.#.#...#.....########.###########.#.#######.###.#.###.#######.#.###.#.###.#####.#####.#.#.#####.#.#.#.#.#.#.#.#.#.##.......#.#...#.#...#.#.....#...#.#.........#...#...#.#.#...#.......#...#.....#.#.#.#.#...#.#...#.#.##.###.###.#.#.#.#.#.#.###.###.#####.#######.#.###.###.#####.#####.###.#####.###.#####.#.#####.#.###.##...#...#.#.#...#.#.#.#.......#...#.#.......#.....#...#...#.....#...#...#...#.#...#.#.#.#...#.#...#.##.#.#####.#.###########.#########.###.#.#####.#.###.#.#.#########.###.#######.#.###.#.#.#.#######.####.#...#.....#.#.#.#...#...#.#.........#...#...#.#...#.....#.#.....#...#.#.....#.........#...#...#...####.#######.#.#.#.#.###.###.###.#.#.#####.###.#.###.#.#####.#.#.#######.###.#########.#.###.###.#.#.##.#...#.#.....#...#.....#.....#.#.#.#.#.#.....#.#...#.#.......#.#.....#.....#.....#.#.#...#.#.....#.##.#.###.###.###.###.#.#####.###.#####.#.#.#####.#####.#.#.#####.#.#.#.###.#.#.###.#.#.#.#.#.###.######...#.....#.......#.#.......#.........#.....#...#.#.#...#.#...#.#.#.#...#.#...#...#...#.#.#.......#.##.###.###.#.###.###.#.#.###.#####.#.#.#####.#.#.#.#.###.#####.#.#.#####.###.#####.###.###.#.#.###.#.##.#.#...#.#...#.#...#.#.#...#.#.#.#.#.#.....#.#...#.......#.#.....#.....#...#.....#.....#.#.#...#...##.#.#.###.#.#####.#.###.#.###.#.#####.#######.###.###.#####.#####.#######.#.#.#########.#.#.##########...#.#.....#...#.#.#...#...#...#...#.#.....#.#..L#...#...#.....#...#.....#.#.#.........#...#.......####.#.###.###.###.###.###.#.#.#.###.#.#.###.#########.#.#######.#.###.###.#####.#.#.###.#######.###.##.#.#...#.#...#...#...#...#.#.#.......#...#...#...#.......#...#.....#.#.......#.#.#.#.....#.......#.##.#.#####.#.#########.#.###.#.#.#####.#######.#.###.#####.###.#.#.#####.#######.#.###.#####.###.######.....#...............#.#.....#.#...#...........#.......#.....#.#.#...........#.#...#...#.#.#...#...##.###.###.#.###.#####.#############.#.#####.###.###.###.#########.#####.#############.###.###.#.###.##...#.....#...#...#.......#.#.#.#...#...#.#...#...#.#.........#.#.....#.#.#...#.....#.....#...#...#.######.#.#######.#######.#.#.#.#.###.###.#.###.#####.#####.#####.###.#.#.#.#.#####.###.#.#.#.#####.#.##.....#.#.....#.#.#...#.#.#.......#.......#.#.#.#.#...#.#.........#.#...............#.#.#.#.....#...####.###.#.#.#.###.###.#.#######.#######.###.###.#.###.#.#.#############.#.###.#.#####.###.#.##########.#.#...#.#.#.#.#.......#...#.......#...#.........#...#.......#.#.#.....#...#.#...#.....#.#.....#...##.#.###.#.#.###.###.#.#####.###.###########.#####.#########.#.#.#.###.#.#.#.#######.#.#.###.#.#.###.##...#.#...#...#.#...#...#.#...#...#.#.....#.#.....#.......#.#.#.......#.#.#.#.......#.#.....#.#.....######.#.###.#.#.#####.###.#.###.#.#.#.###.#####.#.#.###.#########.#######.###.###.#######.###.###.####.......#...#.......#.......#...#.#.#...#.#...#.#...#...#...#...#.#.....#.....#...#.......#.....#...##.#####.###########.###.###.#.#.###.#.#####.#.#######.#.#.###.#.#####.#.#.#####.###.#.#.#######.#.#.##.#.#.......#.....#.#...#.....#...........#.#.#.....#.#.....#.#.#.#.#.#.#.#.#.....#.#.#.#.#...#.#.#.####.#####.#####.#########.#######.#.###.#####.#.#.###.###.###.#.#.#.#.#.###.#.#.#.#.#####.#.###.######...........#...#.#...#.........#.#...#...#.#.#.#.....#.....#.#.#.#.#.#.......#.#.#.#.#.....#.#.#...######.#####.#.###.#.#############.#######.#.#.###.#.#.#####.###.#.#.###########.#####.#.#.#.#.#.#.#.##.........#...#.#.#.#...#.#.#.....#.........#.#...#.#.#...#...#.....#...#.....#.#...#...#.#...#...#.######.#######.#.#.#.###.#.#.###.#.#.###.#.###.###.#.###.#######.###.#.###.#.#####.###.#####.###.###.##.#.#.#.....#.#.............#...#.#...#.#...#...#.#.......#.#...#...#...#.#...#.....#.#.....#.#...#.##.#.#.###.###.#.#########.#.###.#.#####.#####.#.#.###.#.###.#####.###.#####.###.###########.#.###.####...........#.#.....#.#...#.#.#.#...#.#.#.....#.....#.#.........#.......#...#...#...#.....#.#.#.....########.#.###.###.###.#####.#.#####.#.#.###.#.#######.#######.###.#.###.#.###.#.#.#######.#.#.###.####.......#.#.#...#.....#...#...#.#.#...#.....#...#...#...#.....#.#.#.#.#...#...#...#.....#...........####.#######.#.#.#.###.###.###.#.#.#.#############.###.###.###.#.#.###.#.#.#######.#.#.###.#.#######.##.#.....#.....#...#.#...#...#...#.....#...#.....#.....#.#.#.........#.#.#.#.....#.#.#.#...#.#...#...##.#.#.#.###.#######.#####.#.###.#####.###.#.###.###.###.###.#######.#.###.###.#.#.#.###.###.#.###.####...#.#.#.#.#...#.....#...#.......#.#...#.#.#.#...........#.#.....#...#.....#.#.......#.#...#...#.#.##.#.#.###.#.#.#.#####.#.#.#.#.###.#.#####.###.#.#.#.#######.###.###########.#####.###########.###.#.##.#.#.#...#...#.#.....#.#.#.#.#.#.#...#...#.....#.#.....#...#.........#.....#.........#.........#...######.#.#.#.#.#####.###.###.###.#####.#.###.#######.#.###.###.#.#.#.###########.#.#######.#.#.#.#.#.##.....#.#...#...#.....#.#...#...#...#...........#...#.#.....#.#.#.#.#.#.#.......#.....#...#.#.#.#.#.##.#.###.#######.#.###########.#####.#.###.#.###.###.#####.#.#####.###.#.#.#.###.###.#####.#########.##.#...#...#...#...#.....#.#.....#...#.#...#...#...#.#...#.#.......#.#.....#.#.....#...#.....#...#...############.###.#######.#.###.#####.#################.#####.#.###.#.#.#########.###.#.###.###.#.###.##.........#.......#...#.....#.....#.......#.#.#.#...#.......#.#.#...#.#.#.........#.#.........#.....##.#########.#####.###.#.#####.###.#.###.#.#.#.#.###.#####.#####.###.#.#.#########.#.#####.#.#.###.####.#...#.........#...#.....#.#.#.......#.#.#...........#.#.#.......#...#.#...#...#.#.#...#.#.#.#.....##.#.###.###.#####.###.#.###.#.###.#.#######.#.#.#######.#######.###.#.#.###.#.#.#.###.#.#.#.#.#####.##.#.#...#...#.#.......#.........#.#...#...#.#.#...#.#.............#.#...#...#.#.....#.#...#.#.....#.##.#.#.#######.#.#######.###.#######.###.###.#.###.#.#.#######.#.#####.###.#.#############.#.#######.##...#.#.......#.#.......#.#...#...........#.#.#.#...#...#.#...#...#.#.#.#.#.#...#.....#...#.#...#...####.#.#######.###.#.#####.#.#######.###.#.###.#.#.#######.#####.###.#.#.###.###.###.#######.###.#.####...........#.#...#...#...#...#.#.#.#...#.....#.#.......#.#...#.......#.....#.#...#.#.....#.#.#.#.#.######.#####.#.###.###.#.###.###.#.#######.#####.###.###.#.#.#.#####.###.###.#.###.#.#.###.###.#.#.#.##.#.#.#.....#.......#.....#...#.....#...#.......#...#.......#.#.#...#...#...#.#.#...#.#...#.#.......##.#.###.#.#.#.#####.#####.#.#####.###.###.#.#.#######.#.#####.#.#######.###.#.#.#.###.###.#.###.###.##...#...#.#.#.....#.....#.#.#...........#.#.#.#.#...#.#...#.......#.......#...........#...........#.##.###.###.#.#########.#.#######.#.###.#.###.#.#.#.#.#########.###.#.#.#########.###.#######.###.#.####.....#...#...#.....#.#...#.#...#...#.#.#.#.#.#...#.#...#.....#.#.#.#.....#.#...#.......#.#.#...#.#.##.#####.#####.#.###########.#.#####.#.#.#.###.#.#######.###.###.#.#.#.###.#.#.#####.#.#.#.#######.#.##.#.....#.#.#.#.....#.#.........#...#.#.#...#.......#...#.#.#.....#.#.#...#.#...#...#.#.#.#.#...#...####.#.#.#.#.#######.#.#####.###.#.#.#.###.#######.#####.#.###.#####.#####.#.#########.#.#.#.#.###.#.##.#.#.#.........#.#...........#.#.#.#.#.#...#.....#...#...#.#.#.....#.....#.....#.....#.....#.#...#.##.#####.#.#####.#.###.###.###.#######.#.#.#.#.#.#.#.#####.#.#.###.###.#####.###.#.###.#####.#.#.###.##.......#.#.........#.#...#.....#.........#...#.#...#...........#...#.....#...#...#...#.....#.....#.######################################################################################################';\r\nms=reshape(s14,101,101)';\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-17T16:27:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-16T04:45:04.000Z","updated_at":"2025-12-11T05:42:01.000Z","published_at":"2024-07-16T05:31:31.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\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=\\\"420\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"560\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH6AcPAxAsptw/4gAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJbmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAxNC1KdWwtMjAyNCAyMDoxNjo0NMVd7i4AABjfSURBVHic7d1xaF3l/T/w01slakRCbB1RalcWzzWto9hopaUTOqv4R4t0VTuMlNr9YdN1KyrC2o1UWC2mVMlESjM2C8JSnGNzVISIS4ipAaXOlZpqbqM2CxaKmIRCRYxJfn8E8iu27nvvjfee5977epE/ck7uzf0857kn7/ucc3KeOVNTUxEAJC2VdAEAEEUCCYBACCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCBclnQB5S+dTiddApCwgYGBpEsoAQKpGDKZTNIlFEocx2XcukuqwCZHWj3r3zP7X1IJHLIDIAgCiVmpwE/NFdjkSKspCoEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBNNPBGkq6QIuNifHx+fahFx/fx4vQSAK/V4qgjzermTBCAmAIAgkAIIgkAAIgkACIAguapitwcHB06dP19bWLlu2LOlaAEqYQJqVPXv2dHV1NTY2ZjKZ6urqQ4cOVVVVJV0UQEkSSPn78MMPX3755d7e3pqamiiK1q1bd+TIkfvvvz/pugBKkkDKX01NTXt7+3QaRVG0aNGiM2fOXPKRcRxHUZTJZIpXHBCA6X2fLAmk/NXV1dXV1U1/PzQ01N3d3dzcfMlHiiKoTNP7vljKkqvsvgdnz57dvHnztm3bGhoakq4FoFQJpNk6ceLE+vXrN23a9F3DIwCy4ZDdrPT19e3YsePpp5++5557kq4FoLQJpPwNDw9v37792WefXbVq1fj4eBRFqVRq7ty5SdcFUJIEUv46OjrOnz+/devWmTVNTU0tLS0JlgRQuuZMTQV4b/eykk6nc77KLsA+Mf0E35fKm34ijuOBgYHClFJWXNQAQBAcsisLpgvLRmVupSIMVUNTBk2oVEZIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBIEEQBDMh1QWijClZhnMMRPgxKO5KkIvlMFWsjuULCMkAIIgkAAIgkACIAgC6ftx/Pjxzz//POkqAEqYQPoeDA4OPvzww8ePH0+6EIASJpBma3x8/Iknnpg3b17ShQCUNoE0W88999xdd90Vx3HShQCUNoE0K+++++4777zz61//+n8/LI5jiQUVyL6fE/8Ym79z5861tLQcPHjw/3xkJpMpQj1AaKb3fZmUJYGUv3379i1evHhoaGhoaGhkZKS/v3/BggXpdDrpugBKkkDK3/z580+ePNnR0RFF0WeffdbT03PNNdcIJID8CKT87dixY+b7Rx999IEHHlizZk2C9QCUNBc1ABAEI6TvR3t7e9IlAJQ2IyQAgmCEFKRCz7ZSBnPe5CHAOWzM3AMXMEICIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCCfqClOu8bUWYhK3QU8nl/vuncmz1nMqcDa8yJ2MstAA7uiwYIQEQBIEEQBAEEgBBcA5ptkZGRv7zn/9UV1ffcccdSdcCUMIE0qz09PTs3Llz5cqVQ0NDVVVVL730Uipl0AmQD4GUv4mJiZ07d7a1tS1fvjyKorVr177xxhv33ntv0nUBlCSBlL+enp4bbrhhOo2iKHrttde+65FxHEdRlMlkilQZEIbpfZ8sOb6Uv9HR0QULFrS0tCxdunTZsmV//vOfv+uRmUxGGkEFsu/nRCDlb3BwsLOzc8mSJcePHz98+PDBgwePHj2adFEApUog5e/GG29cuHDhxo0boyhKp9N3333366+/nnRRAKXKOaT8XXvttRcuur4OYDb8Dc3f6tWrR0ZGuru7oygaGRnp7e1dt25d0kUBlCojpPxdfvnlL7zwwpNPPtne3j44OLhlyxb/GwuQN4E0K7fddtv0CAmAWXLIDoAgGCFVpLKYzSXn+Y3KotUFF+BW0tEVwwgJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIL5kCpSrhPMRLnPMZPHS4QmwCYUoaQivESh5ysqgyZUKiMkAIIgkAAIgkACIAjOIc3W6dOnBwcHb7jhhoaGhqRrAShhAmlWDh069Kc//WnlypUnTpy47bbb9uzZk3RFAKVKIOVvcnJy//79r7766k033XTu3LkVK1Y0NTUZJwHkxzmkWZmamrriiiuiKLryyitTqdTXX3+ddEUApcoIKX+pVGr37t3btm1bs2ZNX1/fxo0bly5deslHxnEcRVEmkylugUDCpvd9siSQZuXYsWNXXXXV/Pnza2pqPv744y+//PKqq666+GGiCCrT9L4vlrLkkF3+urq63n///Y6Ojoceeqi9vT2KohdffDHpogBKlUDK3+joaBzHc+fOnV5cuHDh8PBwsiUBlC6BlL/Fixe//fbbn3zySRRF586dO3bs2PLly5MuCqBUOYeUv4aGhl27dj344INLlizp7+/fsGHDhg0bki4KoFTNmZoK8J7GZSWdTud8UUOufVKEW3GXwd2+y6AJ5aEMOiLHJsRxPDAwUJhSyopDdgAEQSABEATnkCiMMpjBrAhNKPSx2fIQYEdQGEZIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBIEEQBDMh0R2Cj1hTB5z3gQ40XuAbCVKhxESAEEQSAAEQSABEASBlLPe3t4LF4eHh998882BgYGk6gEoDwIpNwcOHNi1a9fM4pEjR37+8593dnY2Nzf/4Q9/SLAwgFLnKrtsjY2Ntba2dnZ2VldXT6+ZmJjYvXv3X//61/r6+pGRkZ/+9Kf33XffD3/4w0TLBChVRkjZamtrq62t3bt378yat956q6ampr6+Poqi2traO++88+jRo8kVCFDajJCy1dLSkkqlenp6ZtaMjY3dfPPNM4tXX311JpO55HPjOI6i6Lt+CpSr6X2fLAmkbKVS3x5NTkxMXLgylUpNTk5e8rmiCCrT9L4vlrLkkF3+qqqqJiYmZhYnJycvu0zAA+RJIOXvuuuu++CDD2YWR0dHGxsbE6wHoKQJpPzdfvvtURRNn1U6depUX1/fihUrki4KoFQ5xJS/VCq1f//+xx9/vL6+vr+/v7W1dd68eUkXBVCq5kxNuVtvYaXT6ZwvaqjAOzS723c2bKVA5LiV4jh2M5dsOGQHQBAcsiM7eXw2r0AVuJWK0ORCD/LyeAkKwwgJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIJAAiAIJugrC0WYXqzQLxHgPG9FoCS4gBESAEEQSAAEQSABEASBlLPe3t4LFwcHB998881///vfSdUDUB5c1JCbAwcOHD58eCaT9uzZ09XV1djYmMlkqqurDx06VFVVlWyFACVKIGVrbGystbW1s7Ozurp6es2HH3748ssv9/b21tTURFG0bt26I0eO3H///YmWCVCqHLLLVltbW21t7d69e2fW1NTUtLe3T6dRFEWLFi06c+bMJZ8bx3Ecx8WoEgiJfT8nRkjZamlpSaVSPT09M2vq6urq6uqmvx8aGuru7m5ubr7kczOZTDFKBAIzve/LpCwZIWUrlfrObXX27NnNmzdv27atoaGhmCUBlBOBNFsnTpxYv379pk2bvmt4BEA2HLKblb6+vh07djz99NP33HNP0rUAlDaBlL/h4eHt27c/++yzq1atGh8fj6IolUrNnTs36boASpJAyl9HR8f58+e3bt06s6apqamlpSXBkgBK15ypKXf3Lax0Op3zVXYV2Cd53O07wK2UaysCbEIZKMJ7KceXiON4YGAgx9eoRC5qACAIDtmVhSJMJpSrInz2L3Sry6AJUcE/+8P3yAgJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIL5kCpSHjP9mHwoG4VuRRk0ITKvLt/JCAmAIAgkAIIgkAAIgkACIAgCKWe9vb0Xrzx+/Pjnn39e/GIAyoZAys2BAwd27dr1rZWDg4MPP/zw8ePHEykJoDy47DtbY2Njra2tnZ2d1dXVF64fHx9/4okn5s2bl1RhAOXBCClbbW1ttbW1e/fu/db655577q677orj+H88N47j//0AoCzZ93NihJStlpaWVCrV09Nz4cp33333nXfe+fvf//7oo4/+j+dmMpkCVweEaHrfl0lZEkjZSqW+PZo8d+5cS0vLwYMHE6kHoMwIpPzt27dv8eLFQ0NDQ0NDIyMj/f39CxYsSKfTSdcFUJIEUv7mz59/8uTJjo6OKIo+++yznp6ea665RiAB5Ecg5W/Hjh0z3z/66KMPPPDAmjVrEqwHoKS5yg6AIMyZmnJv98JKp9M5X2WXa58U4X7+ZTBlQAU2ISqLVpR+E+I4HhgYKEwpZcUICYAgOIcUpCLMwxaayvzsXwRmVsxGgO+limSEBEAQBBIAQRBIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAATBfEhBMjtLIQS4VQMsKUC2UsUwQgIgCAIJgCAIJACCIJBy1tvbe+HiyMhIV1fXO++8k1Q9AOXBRQ25OXDgwOHDh2cyqaenZ+fOnStXrhwaGqqqqnrppZdSKRkPkA+BlK2xsbHW1tbOzs7q6urpNRMTEzt37mxra1u+fHkURWvXrn3jjTfuvffeRMsEKFU+zmerra2ttrZ27969M2t6enpuuOGG6TSKoui1116TRgB5M0LKVktLSyqV6unpmVkzOjq6YMGClpaWf/7zn3Pnzv3lL3/5i1/84pLPjeM4iqJMJlOkWoEwTO/7ZMkIKVsXnxwaHBzs7OxcsmTJ8ePHDx8+fPDgwaNHj17yuZlMRhpBBbLv50Qg5e/GG29cuHDhxo0boyhKp9N3333366+/nnRRAKXKIbv8XXvttRcuur4OYDb8Dc3f6tWrR0ZGuru7oygaGRnp7e1dt25d0kUBlCojpPxdfvnlL7zwwpNPPtne3j44OLhly5Y77rgj6aIAStWcqSm30i2sdDqd81nNAPtkTo6Pz7UJuf7+PF6iCAq9lcpDGWylHJsQx/HAwEBhSikrDtkBEASH7MpCHsOLChTgB/My6Dhbie+PERIAQRBIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBIEEQBBM0FcWApzjuTKVQUcEOBtegFs1wK1UFoyQAAiCQAIgCAIJgCAIpJz19vZeuHj69Ok333zzww8/TKoegPIgkHJz4MCBXbt2zSweOnSoqamps7Pzscce+93vfpdgYQClzlV22RobG2ttbe3s7Kyurp5eMzk5uX///ldfffWmm246d+7cihUrmpqaGhoakq0ToEQZIWWrra2ttrZ27969F66cmpq64ooroii68sorU6nU119/fcnnxnEcx3ExqgRCYt/PiRFStlpaWlKpVE9Pz8yaVCq1e/fubdu2rVmzpq+vb+PGjUuXLr3kczOZTLHKBAIyve/LpCwZIWUrlbrEtjp27NhVV101f/78mpqajz/++Msvvyx+YQDlQSDlr6ur6/333+/o6HjooYfa29ujKHrxxReTLgqgVAmk/I2OjsZxPHfu3OnFhQsXDg8PJ1sSQOkSSPlbvHjx22+//cknn0RRdO7cuWPHji1fvjzpogBKlYsa8tfQ0LBr164HH3xwyZIl/f39GzZs2LBhQ9JFAZSqOVNTAd5Kt6yk0+mcr7KrwD7J4/bJuW6lXF+iAnshKspWKoOOyLEJcRwPDAwUppSy4pAdAEFwyK4sBDg7S4Cfaoug0J/9izCOLAMB7g5kxwgJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkACIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIL5kCpSBc6RQzgK/fYrwtvblEuFYYQEQBAEEgBBEEgABME5pBwMDg6ePn26trZ22bJlMyuHh4cHBgYWLFiQTqcTrA2g1AmkbO3Zs6erq6uxsTGTyVRXVx86dKiqqurIkSPPPPPMypUr33vvvfvuu2/Hjh1JlwlQsqbIwsmTJ2+55ZbR0dHpxbVr177yyivffPPNrbfeeurUqampqS+++GLp0qWffvrpxc+N4zj3Xsnxq9C/vwhfeQhwK4XWhCK8ROLvnES+chTHcTH/XpUu55CyUlNT097eXlNTM724aNGiM2fOvPXWWzU1NfX19VEU1dbW3nnnnUePHk20TIAS5pBdVurq6urq6qa/Hxoa6u7ubm5u/uijj26++eaZx1x99dWZTOaST58eJH3XT4Fylc8BkgpmhJSbs2fPbt68edu2bQ0NDRMTE6nU/9+AqVRqcnLyks/KZDLSCCqQfT8nAikHJ06cWL9+/aZNm5qbm6MoqqqqmpiYmPnp5OTkZZcZcQLkSSBlq6+vb8uWLU899dQjjzwyvea666774IMPZh4wOjra2NiYUHUAJU8gZWV4eHj79u379u1bvXr1+Pj4+Pj4xMTE7bffHkVRT09PFEWnTp3q6+tbsWJF0pUClCqHmLLS0dFx/vz5rVu3zqxpampqaWnZv3//448/Xl9f39/f39raOm/evASLBChpc6am8vvvBrKVTqdzPquZa5/keu/hAPs8j9snB7iVCv0S5bGVykCOWymO44GBgcKUUlYcsgMgCAIJgCA4hxSkQk//VR7Ti5XBViqDlyiP9xJhMEICIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACIJAAiAIAgmAIAgkAIIgkAAIgkBiVuI4TrqEYqvAJkdaTVEIJACCYMbYgkun00mXACTpoYce2r17d9JVlACBBEAQHLIDIAgCCYAgCCQAgiCQAAiCQAIgCAIJgCAIJACCIJAACMJlSRdASRoZGfnkk09mFuM4vuaaaxKspzh6e3t/8pOfzCwODw8PDAwsWLCgjG/GcWGTK6HTBwcHT58+XVtbu2zZspmVldDRgRBI5OMf//jHc889V1VVNb34/PPPr1q1KtmSCu3AgQOHDx/u7e2dXjxy5MgzzzyzcuXK995777777tuxY0ey5RXCt5pc9p2+Z8+erq6uxsbGTCZTXV196NChqqqqSujogExB7h577LG//OUvSVdRJKOjo7/5zW9uvfXWVatWTa/55ptvbr311lOnTk1NTX3xxRdLly799NNPkyzx+3Zxk6fKvdNPnjx5yy23jI6OTi+uXbv2lVdeKfuODo1zSOTj5MmTP/rRj0ZGRsbHx5OupeDa2tpqa2v37t07s+att96qqampr6+Poqi2tvbOO+88evRocgV+/y5uclTunV5TU9Pe3l5TUzO9uGjRojNnzpR9R4fGITtyNjEx8d///vf3v//9yMjI2NjYz372sz179iRdVAG1tLSkUqmenp6ZNWNjYzfffPPM4tVXX53JZJIorVAubnLZd3pdXV1dXd3090NDQ93d3c3NzR999FF5d3RojJDI2dmzZ9esWfPHP/6xr6+vu7u7t7f38OHDSRdVQKnUt3eTiYmJC1emUqnJycniFlVYFze5cjr97Nmzmzdv3rZtW0NDQ9l3dGgEEjm7/vrrn3/++euvvz6Koh/84Ad33333e++9l3RRRVVVVTUxMTGzODk5edllZX6woUI6/cSJE+vXr9+0aVNzc3NUkR2dLIFEzoaGhv72t7/NLH799ddz585NsJ7iu+666z744IOZxdHR0cbGxgTrKYJK6PS+vr4tW7Y89dRTjzzyyPSaCuzoZAkkcvbVV1/t3r17cHAwiqKzZ8/+61//WrduXdJFFdXtt98eRdH0KZZTp0719fWtWLEi6aIKq+w7fXh4ePv27fv27Vu9evX4+Pj4+PjExEQFdnSyDD/JWTqd/u1vf/vggw/++Mc/PnHixK9+9asy+3+U/1Mqldq/f//jjz9eX1/f39/f2to6b968pIsqrLLv9I6OjvPnz2/dunVmTVNTU0tLS6V1dLJMYU6eJicnv/rqqyuuuOLiE+CV48svv6yoLVCxnV5pHZ0UgQRAEAQ+AEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEEQSAAEQSABEASBBEAQBBIAQRBIAARBIAEQBIEEQBAEEgBBEEgABEEgARAEgQRAEAQSAEH4f4V9JIStPVN3AAAAAElFTkSuQmCC\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60618,"title":"ICFP2024 005: Lambdaman 1, 2, 3","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\r\n\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\nThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.","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: 315px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 157.5px; transform-origin: 407px 157.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 356.5px 8px; transform-origin: 356.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 332px 8px; transform-origin: 332px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [pathbest]=Lambdaman_123(m)\r\n Lmax=Inf;\r\n %m  % Wall0 Lambda1 Cheese2 Eaten3\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr]; % using index requires a wall ring around maze\r\n \r\n pathn=''; %UDLR\r\n ztic=tic;tmax=35; %Recursion time limit\r\n Lbest=inf;\r\n pathbest='';\r\n mstate=m(:)'; % recursion performs maze state checks to avoid dupolication\r\n mstaten=mstate;\r\n L=0;\r\n mn=m;\r\n Lidxn=find(m==1);\r\n [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L, ...\r\n   pathn,mn,Lidxn,mstaten,Lmax); %use VARn for recursion updates\r\n\r\n toc(ztic)\r\nend %Lambda_123\r\n\r\nfunction [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L, ...\r\n  path,m,Lidx,mstate,Lmax)\r\n\r\n%Conditional recursion aborts\r\n if toc(ztic)\u003etmax,return;end %Recursion time-out\r\n if L\u003eLmax,return;end % Limit recursion trials to known Lmax\r\n if L\u003e=Lbest,return;end % Bail on long solutions\r\n \r\n m(Lidx)=3;\r\n if nnz(m==2)==0 % Solution case. Better solution found\r\n  Lbest=L;\r\n  pathbest=path;\r\n  toc(ztic)\r\n  fprintf('Lbest=%i ',Lbest);fprintf('Path=%s',pathbest);fprintf('\\n\\n');\r\n  return;\r\n end\r\n \r\n UDLR='UDLR';\r\n \r\n mn=m;\r\n Cadj=m(adj+Lidx);\r\n for i=1:4 % UDLR\r\n  if Cadj(i)\u003e0 % Ignore into wall Cadj==0 movement\r\n   Lidxn=Lidx+adj(i);\r\n   mn(Lidxn)=1;\r\n   mn_state=mn(:)';\r\n   \r\n   if nnz(sum(abs(mstate-mn_state),2)==0) % Pre-exist state check\r\n    mn(Lidxn)=m(Lidxn); % Reset mn\r\n    continue; %Abort when create an existing prior state\r\n   end\r\n   \r\n   mstaten=[mstate;mn_state]; % When update walls re-init mstate\r\n   pathn=[path UDLR(i)];\r\n   \r\n   [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L+1, ...\r\n     pathn,mn,Lidxn,mstaten,Lmax);\r\n   \r\n   mn(Lidxn)=m(Lidxn); % reset mn in fastest way\r\n  end\r\n end % for UDLR\r\nend %maze_rec","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 1  optimal solution L15 LLLDURRRUDRRURR\r\nms=['###.#...'\r\n    '...L..##'\r\n    '.#######'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26 RDURRDDRRUUDDLLLDLLDDRRRUR\r\nms=['L...#.'\r\n    '#.#.#.'\r\n    '##....'\r\n    '...###'\r\n    '.##..#'\r\n    '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 3  optimal solution L40 DRDRLLLUDLLUURURLLURLUURRDRDRDRDUUUULDLU\r\nms=[  '......'\r\n      '.#....'\r\n      '..#...'\r\n      '...#..'\r\n      '..#L#.'\r\n      '.#...#'\r\n      '......'];\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-13T05:35:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-13T05:05:28.000Z","updated_at":"2026-03-11T09:46:10.000Z","published_at":"2024-07-13T05:35:58.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47325,"title":"Find Logic 18","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 18\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 17\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value  according to problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 2;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 5;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 2;\r\ny_correct = 8;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":585,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T16:32:47.000Z","updated_at":"2026-02-14T06:51:25.000Z","published_at":"2020-11-05T16:32:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 2\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\u003elogic(1,2) = 5\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\u003elogic(2,1) = 5\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\u003elogic(3,1) = 10\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\u003elogic(3,3) = 18\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\u003elogic(4,1) = 17\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\u003eMake a function logic(a,b) which will return value  according to problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47255,"title":"Find Logic 8","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) =  3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 0;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 8;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 24\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":467,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T07:53:36.000Z","updated_at":"2026-02-14T07:11:40.000Z","published_at":"2020-11-04T07:53:36.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) =  3\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\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 15\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47395,"title":"Find Logic 27","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 230.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 115.31px; transform-origin: 174px 115.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\ny_correct = 5;\r\nassert(isequal(logic(b,a),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 2;\r\ny_correct = 7;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 4;\r\nb = 1;\r\ny_correct = 9;\r\nassert(isequal(logic(b,a),y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":241,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-07T03:27:02.000Z","updated_at":"2026-02-14T13:47:17.000Z","published_at":"2020-11-07T03:27:02.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 3\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\u003elogic(1,3) = 7\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\u003elogic(2,2) = 6\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\u003elogic(2,3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,1) = 5\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\u003elogic(3,2) = 7\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\u003elogic(3,3) = 9\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":52308,"title":"ICFP2021 Hole-In-Wall: Calculate Score","description":"The ICFP held its annual 3-day contest in July 2021 with Hole-In-Wall. Contest Specification.\r\nThe contest folds the figure in Red to fit within the hole shown in light grey \r\nThis Challenge is to evaluate the Score defined in the Specification when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\r\nScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\r\nThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\r\nThe ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use Register Team. Anyone can select Problems Page and then click problem numbers to see the puzzles and to download problem files.\r\nThe ICFP Contests page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. ICFP2019 Results Youtube gives a summary of this 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: 591px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 295.5px; transform-origin: 407px 295.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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP\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: 148.5px 8px; transform-origin: 148.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e held its annual 3-day contest in July 2021 with \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eHole-In-Wall\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: 30.5px 8px; transform-origin: 30.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Contest \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/spec-v4.1.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpecification\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 234px; 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 117px; text-align: left; transform-origin: 384px 117px; 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: 234px 8px; transform-origin: 234px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest folds the figure in Red to fit within the hole shown in light grey \u003c/span\u003e\u003c/span\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 231px;height: 234px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"231\" height=\"234\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 171px 8px; transform-origin: 171px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is to evaluate the Score defined in the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/spec-v4.1.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpecification\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: 173px 8px; transform-origin: 173px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\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: 349px 8px; transform-origin: 349px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\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: 314px 8px; transform-origin: 314px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://poses.live/register\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eRegister Team\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: 43.5px 8px; transform-origin: 43.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Anyone can select \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://poses.live/problems\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eProblems Page\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: 259px 8px; transform-origin: 259px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and then click problem numbers to see the puzzles and to download problem 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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/contest.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Contests\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: 303px 8px; transform-origin: 303px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=J1PzFKK0LOQ\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"perspective-origin: 85px 8px; transform-origin: 85px 8px; \"\u003eICFP2019 Results Youtube\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: 103px 8px; transform-origin: 103px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e gives a summary of this contest.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function score = calc_score(hxy,pxy)\r\n % hxy has a duplicate non-scoring vertex in its final row\r\n  score=-1;\r\nend","test_suite":"%%\r\nhxy=[53 0;100 22;66 68;43 68;0 41;53 0];\r\npxy=[0    41\r\n    16    36\r\n    20    39\r\n    37    41\r\n    40    53\r\n    43    68\r\n    53     0\r\n    54    58\r\n    54    63\r\n    66    68\r\n    69    53\r\n    71    41\r\n   100    22];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=0;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))\r\n%%\r\nhxy=[55   80\r\n    65    95\r\n    95    95\r\n    35     5\r\n     5     5\r\n    35    50\r\n     5    95\r\n    35    95\r\n    45    80\r\n    55    80];\r\npxy=[21    11\r\n    24    21\r\n    15    93\r\n    45    27\r\n    33    41\r\n    40    72\r\n    25    91\r\n    53    34\r\n    35    30\r\n    43    37\r\n    50    77\r\n    52    44\r\n    33    41\r\n    42    47\r\n    36    52\r\n    60    73\r\n    75    91\r\n    85    93\r\n    56    49\r\n    56    59];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=1037;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))\r\n%%\r\nhxy=[55    80\r\n    65    95\r\n    95    95\r\n    35     5\r\n     5     5\r\n    35    50\r\n     5    95\r\n    35    95\r\n    45    80\r\n    55    80];\r\npxy=[21    28\r\n    31    28\r\n    31    87\r\n    29    41\r\n    44    43\r\n    58    70\r\n    38    79\r\n    32    31\r\n    36    50\r\n    39    40\r\n    66    77\r\n    42    29\r\n    46    49\r\n    49    38\r\n    39    57\r\n    69    66\r\n    41    70\r\n    39    60\r\n    42    25\r\n    40    35];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=3704;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-07-16T20:18:21.000Z","updated_at":"2025-12-10T04:26:53.000Z","published_at":"2021-07-16T22:55:02.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.icfpconference.org/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e held its annual 3-day contest in July 2021 with \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHole-In-Wall\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Contest \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/spec-v4.1.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpecification\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe contest folds the figure in Red to fit within the hole shown in light grey \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"234\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"231\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to evaluate the Score defined in the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/spec-v4.1.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpecification\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\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\u003eScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\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\u003eThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\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 ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://poses.live/register\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRegister Team\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Anyone can select \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://poses.live/problems\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblems Page\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and then click problem numbers to see the puzzles and to download problem 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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.icfpconference.org/contest.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Contests\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=J1PzFKK0LOQ\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2019 Results Youtube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e gives a summary of this contest.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60593,"title":"ICFP2024 002: Lambdaman 9","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"  in this language F=\u003eL, l=\u003e., ~=\u003eLineFeed, IR means Integer 49, IS is 50\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\r\nB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u003e B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u003e\r\n\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\r\n\r\nAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.","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: 579px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 289.5px; transform-origin: 407px 289.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 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: 339px 8px; transform-origin: 339px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \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: 380px 8px; transform-origin: 380px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"  in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, IR means Integer 49, IS is 50\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 350px 8px; transform-origin: 350px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\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: 287px 8px; transform-origin: 287px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u0026gt; B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u0026gt;\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 364px 8px; transform-origin: 364px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman9(m)\r\n% m is a maze where 2 is cheese to eat, 1 is Lambdaman the token being moved, \r\n% 0 is a wall\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman9 is a string of about 2499 RDLU characters\r\n%Answers may vary if doing rows or columns first\r\n v='R';\r\nend\r\n\r\n%Lambdaman 9 ICFP dataset and optimal solution\r\n%{\r\nMaze\r\nhttps://github.com/codingteam/icfpc-2024/blob/master/data/lambdaman/lambdaman9.glx\r\nB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"\r\n\r\nSolution\r\nhttps://github.com/codingteam/icfpc-2024/blob/master/data/lambdaman/lambdaman9.sol.glx\r\nB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u003e B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u003e\r\n\r\n\r\n%}\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}","test_suite":"%%\r\nvalid=0;\r\nm=ones(50)*2; %Cheese bits are 2.  Walls will be 0 but none in this case.\r\nm(1)=1;  %Lambdaman is 1\r\n\r\nv = Lambdaman9(m);\r\nfprintf('Answer Length: %i\\n',length(v))\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\nr=1;c=1;  % Limit is 50,50 for Lambdaman9 starts at (1,1)\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  c=min(c+1,50);\r\n elseif v(i)=='L' % L\r\n  c=max(c-1,1);\r\n elseif v(i)=='U' % U\r\n  r=max(r-1,1);\r\n elseif v(i)=='D' % D\r\n  r=min(r+1,50);\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nend\r\n%mc\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\nL.................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n%}\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-09T20:42:07.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-09T17:08:10.000Z","updated_at":"2025-12-03T18:41:13.000Z","published_at":"2024-07-09T20:42:07.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\\\" B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L$ L# ? B= v# I\\\" v\\\" B. v\\\" B$ v$ B- v# I\\\"  in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, IR means Integer 49, IS is 50\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\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\u003eB. S3/,6%},!-\\\"$!-!.^} B$ B$ L! L\\\" B$ v! B$ v! B$ v! B$ v! B$ v! v\\\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u0026gt; B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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\u003eSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1098,"title":"USC Fall 2012 ACM : Code Word Minimum Flipped Bits","description":"This Challenge is to solve Question A of the \u003chttp://contest.usc.edu/index.php/Fall12/Home USC ACM Fall 2012 Contest\u003e.\r\n\r\nGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\r\n\r\n\r\nInput: [ M, v ]\r\n\r\nOutput: e, minimum number of error(flipped) bits\r\n.\r\n\r\nFrom full \u003chttp://contest.usc.edu/index.php/Fall12/Home?action=download\u0026upname=codes.in.txt USC data file\u003e\r\n\r\nInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\r\n\r\nOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\r\n\r\nMatlab one-liner?\r\n\r\nThe Winning C solution - not much help:\r\n\r\n  #include \u003ciostream\u003e\r\n  #include \u003cstdio.h\u003e\r\n  #include \u003cstring\u003e\r\n  using namespace std;\r\n  int main () {\r\n  \tfreopen(\"codes.in\", \"r\", stdin);\r\n  \tint K,n,b;\r\n  \tcin \u003e\u003e K;\r\n  \tfor (int i = 1; i \u003c K + 1; ++i) {\r\n  \t\tcin \u003e\u003e n \u003e\u003e b;\r\n  \t\tstring m[1000], r;\r\n  \t\tfor (int j = 0; j \u003c n; ++j)\r\n  \t\t\tcin \u003e\u003e m[j];\r\n  \t\tcin \u003e\u003e r;\r\n% Process Start\t\t\r\n  \t\tint f = b;\r\n  \t\tfor (int j = 0; j \u003c n; ++j) {\r\n  \t\t\tint d = b;\r\n  \t\t\tfor (int k = 0; k \u003c b; ++k) {\r\n  \t\t\t\tif (m[j][k] == r[k])\r\n  \t\t\t\t\t--d;\r\n  \t\t\t}\r\n  \t\t\tf = ((f \u003c= d) ? f : d);\r\n  \t\t}\r\n % Process End \r\n  \t\tprintf(\"Data Set %d:\\n\", i);\r\n  \t\tprintf(\"%d\\n\\n\", f);\r\n  \t}\r\n  \treturn 0;\r\n  }\r\n  ","description_html":"\u003cp\u003eThis Challenge is to solve Question A of the \u003ca href=\"http://contest.usc.edu/index.php/Fall12/Home\"\u003eUSC ACM Fall 2012 Contest\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\u003c/p\u003e\u003cp\u003eInput: [ M, v ]\u003c/p\u003e\u003cp\u003eOutput: e, minimum number of error(flipped) bits\r\n.\u003c/p\u003e\u003cp\u003eFrom full \u003ca href=\"http://contest.usc.edu/index.php/Fall12/Home?action=download\u0026amp;upname=codes.in.txt\"\u003eUSC data file\u003c/a\u003e\u003c/p\u003e\u003cp\u003eInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\u003c/p\u003e\u003cp\u003eOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\u003c/p\u003e\u003cp\u003eMatlab one-liner?\u003c/p\u003e\u003cp\u003eThe Winning C solution - not much help:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e#include \u0026lt;iostream\u003e\r\n#include \u0026lt;stdio.h\u003e\r\n#include \u0026lt;string\u003e\r\nusing namespace std;\r\nint main () {\r\n\tfreopen(\"codes.in\", \"r\", stdin);\r\n\tint K,n,b;\r\n\tcin \u003e\u003e K;\r\n\tfor (int i = 1; i \u0026lt; K + 1; ++i) {\r\n\t\tcin \u003e\u003e n \u003e\u003e b;\r\n\t\tstring m[1000], r;\r\n\t\tfor (int j = 0; j \u0026lt; n; ++j)\r\n\t\t\tcin \u003e\u003e m[j];\r\n\t\tcin \u003e\u003e r;\r\n% Process Start\t\t\r\n\t\tint f = b;\r\n\t\tfor (int j = 0; j \u0026lt; n; ++j) {\r\n\t\t\tint d = b;\r\n\t\t\tfor (int k = 0; k \u0026lt; b; ++k) {\r\n\t\t\t\tif (m[j][k] == r[k])\r\n\t\t\t\t\t--d;\r\n\t\t\t}\r\n\t\t\tf = ((f \u0026lt;= d) ? f : d);\r\n\t\t}\r\n% Process End \r\n\t\tprintf(\"Data Set %d:\\n\", i);\r\n\t\tprintf(\"%d\\n\\n\", f);\r\n\t}\r\n\treturn 0;\r\n}\r\n\u003c/pre\u003e","function_template":"function f = USC_No_1(M,v)\r\n  f=0;\r\nend","test_suite":"%%\r\ntic\r\nurlfn='http://contest.usc.edu/index.php/Fall12/Home?action=download\u0026upname=codes.in.txt';\r\nurlwrite(urlfn,'codesin_A.txt'); % Load file from USC\r\ntoc\r\n%%\r\n flip_correct=[1 0 0 54 1 29 37 32 33 32 39 8 0 0 36 36 35];\r\n\r\n fid=fopen('codesin_A.txt','r');\r\n\r\n qty=fscanf(fid,'%i',1);\r\n for ptr=1:qty\r\n  nr=fscanf(fid,'%i',1);\r\n  nc=fscanf(fid,'%i',1);\r\n \r\n  A=zeros(nr,nc);\r\n  for i=1:nr\r\n   strv=fscanf(fid,'%s',1); % Reads a line of text\r\n   A(i,:)=strv-'0'; % vectorize the string\r\n  end\r\n \r\n  strv=fscanf(fid,'%s',1);\r\n  v=strv-'0';\r\n\r\n  USC_flips = USC_No_1(A,v);\r\n\r\n  assert(isequal(USC_flips,flip_correct(ptr)))\r\n \r\n end\r\n fclose(fid);\r\n \r\ntoc\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-12-06T02:14:30.000Z","updated_at":"2024-11-05T12:53:23.000Z","published_at":"2012-12-06T02:40:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to solve Question A of the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://contest.usc.edu/index.php/Fall12/Home\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUSC ACM Fall 2012 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\u003eGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\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\u003eInput: [ M, v ]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: e, minimum number of error(flipped) bits .\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\u003eFrom full\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://contest.usc.edu/index.php/Fall12/Home?action=download\u0026amp;upname=codes.in.txt\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUSC data file\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\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\u003eMatlab one-liner?\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 Winning C solution - not much help:\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[#include \u003ciostream\u003e\\n#include \u003cstdio.h\u003e\\n#include \u003cstring\u003e\\nusing namespace std;\\nint main () {\\n  freopen(\\\"codes.in\\\", \\\"r\\\", stdin);\\n  int K,n,b;\\n  cin \u003e\u003e K;\\n  for (int i = 1; i \u003c K + 1; ++i) {\\n    cin \u003e\u003e n \u003e\u003e b;\\n    string m[1000], r;\\n    for (int j = 0; j \u003c n; ++j)\\n      cin \u003e\u003e m[j];\\n    cin \u003e\u003e r;\\n% Process Start    \\n    int f = b;\\n    for (int j = 0; j \u003c n; ++j) {\\n      int d = b;\\n      for (int k = 0; k \u003c b; ++k) {\\n        if (m[j][k] == r[k])\\n          --d;\\n      }\\n      f = ((f \u003c= d) ? f : d);\\n    }\\n% Process End \\n    printf(\\\"Data Set %d:\\\\n\\\", i);\\n    printf(\\\"%d\\\\n\\\\n\\\", f);\\n  }\\n  return 0;\\n}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1161,"title":"Binpack Contest: Retro","description":"The \u003chttp://www.mathworks.com/matlabcentral/contest/contests/3/rules Full Binpack Rules and examples\u003e.\r\n\r\nThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\r\n\r\nBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\r\n\r\n*Input:* [songList, mediaLength]\r\n\r\n*Output:* indexList\r\n\r\n*Example:*\r\n\r\nInput:  [ 0.5 2 3 1.5 4], [5.6]\r\n\r\nOutput: [4 5]  as 1.5+4 is very near and below 5.6.\r\n\r\nThe answer of [1 2 3] is also valid and also gives 5.5.\r\n\r\n*Scoring:* 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a time)\r\n\r\n\r\n*Warning:* Matlab 2013B may produce time slowing error messages versus 1998 code.\r\n\r\n","description_html":"\u003cp\u003eThe \u003ca href=\"http://www.mathworks.com/matlabcentral/contest/contests/3/rules\"\u003eFull Binpack Rules and examples\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\u003c/p\u003e\u003cp\u003eBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [songList, mediaLength]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e indexList\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eInput:  [ 0.5 2 3 1.5 4], [5.6]\u003c/p\u003e\u003cp\u003eOutput: [4 5]  as 1.5+4 is very near and below 5.6.\u003c/p\u003e\u003cp\u003eThe answer of [1 2 3] is also valid and also gives 5.5.\u003c/p\u003e\u003cp\u003e\u003cb\u003eScoring:\u003c/b\u003e 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a time)\u003c/p\u003e\u003cp\u003e\u003cb\u003eWarning:\u003c/b\u003e Matlab 2013B may produce time slowing error messages versus 1998 code.\u003c/p\u003e","function_template":"function indexList = binpack(songList,mediaLength) ;\r\n  indexList=[];\r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',100);\r\n%%\r\na{1} = [4.3078    2.5481    1.4903    5.4302    3.4142    2.9736    3.3768 ...\r\n        2.1612    3.3024    0.3269    2.6761    4.2530    2.6648    1.9644 ...\r\n        3.3389    22.122    4.1015    3.2104    2.3945    4.7151];\r\na{2} = [1.2671    3.1377    4.0687    4.1459    3.6469    6.1881    8.2452 ...\r\n        7.3962    9.7071   10.4798   11.4082   12.2282   12.6320   13.9705 ...\r\n        13.8851   15.6195   17.0187   18.5778   18.4140   20.0473];\r\na{3} = [1.6283    6.0703    8.1323    2.6226    3.1230    3.0081    6.1405 ...\r\n        1.1896    4.2769    5.0951    6.4869    3.9215    2.5858    4.7130 ...\r\n        4.5529];\r\na{4} = [40:-1:1]+.1;\r\na{5} = [1.0979    3.5540    1.8627    0.0849    3.2110    3.6466    4.8065 ...\r\n        3.2717    0.1336    2.5008    0.4508    3.0700    3.1658    0.8683 ...\r\n        3.5533    3.7528    2.7802    4.2016    1.6372    9.6254    1.3264 ...\r\n        0.3160    4.3212    3.0192    0.7744    2.3970    1.7416    2.4751 ...\r\n        1.0470    1.9091];\r\na{6} = [1 1 2 3 5 8 13 21 34]+.1;\r\na{7} = [0.8651    3.3312    0.2507    0.5754    2.2929    2.3818    2.3783 ...\r\n        0.0753    0.6546    0.3493    0.3734    1.4516    1.1766    4.3664 ...\r\n        0.2728    20.279    2.1335    0.1186    0.1913    1.6647    0.5888 ...\r\n        2.6724    1.4286    3.2471    1.3836    1.7160    2.5080    3.1875 ...\r\n        2.8819    1.1423    0.7998    1.3800    1.6312    1.4238    2.5805 ...\r\n        1.3372    2.3817    2.4049    0.0396    0.3134];\r\na{8} = [pi*ones(1,10) exp(1)*ones(1,10)];\r\na{9} = [1.6041    0.2573    1.0565    1.4151    0.8051    0.5287    0.2193 ...\r\n        0.9219    2.1707    0.0592    1.0106    0.6145    0.5077    1.6924 ...\r\n        0.5913    0.6436    0.3803    1.0091    0.0195    0.0482    20.000 ...\r\n        0.3179    1.0950    1.8740    0.4282    0.8956    0.7310    0.5779 ...\r\n        0.0403    0.6771    0.5689    0.2556    0.3775    0.2959    1.4751 ...\r\n        0.2340    8.1184    0.3148    1.4435    0.3510    0.6232    0.7990 ...\r\n        0.9409    0.9921    0.2120    0.2379    1.0078    0.7420    1.0823 ...\r\n        0.1315];\r\na{10}= [1.6041    0.2573    1.0565    1.4151    0.8051    0.5287    0.2193 ...\r\n        0.9219    2.1707    0.0592    1.0106    0.6145    0.5077    1.6924 ...\r\n        0.5913    0.6436    0.3803    10.091    0.0195    0.0482    20.000 ...\r\n        0.3179    1.0950    1.8740    44.999    0.8956    0.7310    0.5779 ...\r\n        0.0403    0.6771    0.5689    0.2556    0.3775    0.2959    1.4751 ...\r\n        0.2340    0.1184    0.3148    1.4435    0.3510    0.6232    0.7990 ...\r\n        0.9409    0.9921    0.2120    0.2379    1.0078    0.7420    1.0823 ...\r\n        0.1315];\r\na{11}= [40*ones(1,50) ones(1,20)]+0.05;\r\na{12}= 4.3 + sin(1:100);\r\n\r\nmediaLength=45;\r\n\r\nfor j=1:20 % warm-up\r\nfor i=1:12\r\n   songList=a{i};\r\n   indexList = binpack(songList,mediaLength) ;\r\nend\r\nend\r\n\r\n\r\nnet_gap=0;\r\nt0=clock;\r\nfor j=1:100\r\nfor i=1:12\r\n   songList=a{i};\r\n   indexList = binpack(songList,mediaLength) ;\r\n   indexList=unique(indexList); % No dupes\r\n   total(i)=sum(songList(indexList));\r\n   if total(i)\u003e45+1.5*eps(mediaLength) % Rqmt \u003c= 45\r\n    total(i)=-Inf;\r\n   end\r\n   net_gap=net_gap+45-total(i) ;\r\nend\r\nend\r\ntte=etime(clock,t0);\r\nfprintf('Total Time E %f\\n',tte)\r\nfprintf('Totals: ');fprintf('%.4f  ',total);fprintf('\\n')\r\nfprintf('Net Gap: %.2f\\n',net_gap)\r\n%format long\r\nfprintf('Performance: %.4f\\n',net_gap/(12*45))\r\nfprintf('Score=150*net_gap/(12*45)+3*time: %.3f\\n',150*net_gap/(12*45)+tte*3)\r\n\r\nScore=150*net_gap/(12*45)+tte*3;\r\n\r\nassert(Score\u003cInf)\r\n\r\n\r\nfeval( @assignin,'caller','score',floor(min( 100,Score )) );\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-01-02T05:26:53.000Z","updated_at":"2026-03-16T11:34:27.000Z","published_at":"2013-01-02T05:58:44.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\u003eThe\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/3/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFull Binpack Rules and examples\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\u003eThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\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 [songList, mediaLength]\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 indexList\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:\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\u003eInput: [ 0.5 2 3 1.5 4], [5.6]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: [4 5] as 1.5+4 is very near and below 5.6.\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 answer of [1 2 3] is also valid and also gives 5.5.\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\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eWarning:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Matlab 2013B may produce time slowing error messages versus 1998 code.\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":47355,"title":"Find Logic 22","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value according to this logic.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 1;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 2;\r\ny_correct = 6;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\nassert(isequal(logic(a,b),10))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":295,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T10:50:57.000Z","updated_at":"2026-03-22T08:08:54.000Z","published_at":"2020-11-06T10:50:57.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 2\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\u003elogic(1,2) = 3\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\u003elogic(2,1) = 5\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\u003elogic(2,2) = 6\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\u003elogic(1,3) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,4) = 5\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\u003elogic(3,1) = 10\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\u003eMake a function logic(a,b) which will return value according to this logic.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47265,"title":"Find Logic 10","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 120\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 60\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 20\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 120;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 60;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx=5;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":415,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T08:47:44.000Z","updated_at":"2026-02-14T07:05:44.000Z","published_at":"2020-11-04T08:47:44.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 120\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\u003elogic(2) = 60\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\u003elogic(3) = 20\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\u003elogic(4) = 5\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47375,"title":"Find Logic 26","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 320.476px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 160.238px; transform-origin: 174px 160.238px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,0) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = -3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = -5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,2) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a;\r\nend","test_suite":"%%\r\na = 2;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 8;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 4;\r\nb = 2;\r\ny_correct = 12;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 6;\r\nb = 3;\r\ny_correct = 27;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":240,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T14:14:22.000Z","updated_at":"2026-02-14T13:46:26.000Z","published_at":"2020-11-06T14:14:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,0) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = -3\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\u003elogic(2,2) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2,3) = -5\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\u003elogic(3,1) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,2) = 5\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\u003elogic(3,3) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4,1) = 15\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\u003elogic(4,2) = 12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47239,"title":"Find Logic 5","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 14\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which returns 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 20;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 44;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":67,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T16:42:59.000Z","updated_at":"2026-03-16T11:57:14.000Z","published_at":"2020-11-03T16:42:59.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic\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\u003elogic(1) = 2\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\u003elogic(2) = 5\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\u003elogic(3) = 9\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\u003elogic(4) = 14\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\u003eMake a function logic(x) which returns 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47224,"title":"Find Logic 3","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake Function by finding logic from a given problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) =  2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which returs value equivalent to 'x' th term\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 9\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 27\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":429,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T13:28:53.000Z","updated_at":"2026-02-27T08:29:40.000Z","published_at":"2020-11-03T13:28:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake Function by finding logic from a given problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) =  2\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\u003elogic(3) = 5\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\u003elogic(4) = 9\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\u003eMake a function logic(x) which returs value equivalent to 'x' th term\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47310,"title":"Find Logic 15","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 64\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 8;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 25;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 6;\r\ny_correct = 216;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":449,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T14:25:25.000Z","updated_at":"2026-02-20T09:45:29.000Z","published_at":"2020-11-05T14:25:25.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 9\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\u003elogic(4) = 64\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\u003elogic(5) = 25\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\u003eMake a function logic(x) which will return 'x' th term of sequence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58424,"title":"ICFP 2022 - RoboPaint Image Scoring","description":"The ICFP2023 Challenge is Jul 7-10, registraion opens late June. Updates at TwitICFP2023. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\r\nThe ICFP2022 HomePage has details of the RoboPaint contest. Twit2022, WriteUps, PriorEvents, Spec, ImageSubmissions, Puzzles, SawickiSolutions are useful links. Posted 6/17/23.\r\nThis challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \r\nA video of FrictionlessBananasSawicki paint steps, [2FBS.mp4.avi] shows the processing method to create Submit.png.\r\nImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\r\n where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\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: 627.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 313.75px; transform-origin: 407px 313.75px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2023.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2023\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: 197.5px 8px; transform-origin: 197.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Challenge is Jul 7-10, registraion opens late June. Updates at \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://twitter.com/icfpcontest2023\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTwitICFP2023\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: 95px 8px; transform-origin: 95px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2022 HomePage\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: 120px 8px; transform-origin: 120px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e has details of the RoboPaint contest. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://twitter.com/icfpcontest2022\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTwit2022\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/writeups/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eWriteUps\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/contest.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePriorEvents\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/Specifications/spec_v2_4.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpec\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://gist.github.com/RafaelBocquet/e464c2d199f2d7a725cafdc22b30df7f\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eImageSubmissions\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://github.com/icfpc-unagi/icfpc2022/tree/main/problems\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePuzzles\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSawickiSolutions\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: 103.5px 8px; transform-origin: 103.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are useful links. Posted 6/17/23.\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: 369px 8px; transform-origin: 369px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \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: 163px 8px; transform-origin: 163px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA video of FrictionlessBananasSawicki paint steps, [\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://drive.google.com/file/d/1GrKpcITcV_IKAs_mqtmwm7gTWG_KieTb/view?usp=drive_link\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e2FBS.mp4.avi\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: 167px 8px; transform-origin: 167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e] shows the processing method to create Submit.png.\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: 351px 8px; transform-origin: 351px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\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: 281.5px 8px; transform-origin: 281.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 405.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 202.75px; text-align: left; transform-origin: 384px 202.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 400px;height: 400px\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEbGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIyLTA4LTMxPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjllMDhjZjRjLTk4NmEtNDIzYi1hYTllLWE1OGE3NGMyZmJkODwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Sb2JvUGFpbnRlcjwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi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csMYwWPcvU/YCxkGARmZ02+EUbwp/Oa/tP8whrFJesVdjtGM74z85m98/PdhJOMbxfvkDsUhLABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAISUQw8A2ySd+vKBx9LpxmNDD6QnppP7lAcey2nduOzU33GnIyA4I5fydcmvS15oVAHJ1yWfDz2QntRSvqZmBT2igFjRjMsX7T+M5fnHkAgIzsYm0sHjUp5JNqYjn9aMafoDQw9kRe0WfXmvdPATUppqXCvpJNWH0uTB9u/sgUAydx/TqxRj5C7ZNqwwXHLb3nXbtjzO2zJOrN2YNiUxRq5mhbwN2xndWLfR8eM89ECWsVWDxRpwCAu3cWrNNvaImJ2Mceu2kE8/zkOP5Ta6x3nbHmL0jkNYAIAQDmEBAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAg5P8BuswYmRyS+ZYAAAAASUVORK5CYII=\" data-image-state=\"image-loaded\" width=\"400\" height=\"400\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function scr = Calc_Img_Score(G,S)\r\n  scr=0;\r\nend","test_suite":"%%\r\n%Google Drive Dowloads need to come from shared files\r\n% Tweak link: file/d/ to uc?export=download\u0026id=   while removing /view?usp=sharing\r\n% https://drive.google.com/file/d/1v3GsGgP3p905wzdvUqypL_-djYmxiyzK/view?usp=sharing\r\n% https://drive.google.com/uc?export=download\u0026id=1v3GsGgP3p905wzdvUqypL_-djYmxiyzK\r\n%2.png\r\n% G=webread(url); urlwrite(url,fname) then imread\r\nG=imread('https://drive.google.com/uc?export=download\u0026id=1v3GsGgP3p905wzdvUqypL_-djYmxiyzK');\r\n%2FBS.png\r\n%https://drive.google.com/file/d/1J-9EeVwzB0U8KSD4eNAKQ0LMFv3PGs1F/view?usp=sharing\r\nS=imread('https://drive.google.com/uc?export=download\u0026id=1J-9EeVwzB0U8KSD4eNAKQ0LMFv3PGs1F');\r\n\r\ny_correct = 1006;\r\nscr=Calc_Img_Score(G,S)\r\nassert(isequal(scr,y_correct))\r\n\r\n% A random G/S may be created if too many hacks\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2023-06-17T19:15:40.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-06-17T16:54:28.000Z","updated_at":"2023-06-17T19:15:40.000Z","published_at":"2023-06-17T19:08:26.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2023.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2023\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e Challenge is Jul 7-10, registraion opens late June. Updates at \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://twitter.com/icfpcontest2023\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTwitICFP2023\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2022.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2022 HomePage\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e has details of the RoboPaint contest. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://twitter.com/icfpcontest2022\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTwit2022\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=\\\"https://icfpcontest2022.github.io/writeups/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWriteUps\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=\\\"https://www.icfpconference.org/contest.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePriorEvents\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=\\\"https://icfpcontest2022.github.io/Specifications/spec_v2_4.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpec\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=\\\"https://gist.github.com/RafaelBocquet/e464c2d199f2d7a725cafdc22b30df7f\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eImageSubmissions\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=\\\"https://github.com/icfpc-unagi/icfpc2022/tree/main/problems\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePuzzles\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=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSawickiSolutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e are useful links. Posted 6/17/23.\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 challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \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\u003eA video of FrictionlessBananasSawicki paint steps, [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://drive.google.com/file/d/1GrKpcITcV_IKAs_mqtmwm7gTWG_KieTb/view?usp=drive_link\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e2FBS.mp4.avi\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e] shows the processing method to create Submit.png.\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\u003eImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\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\u003e where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\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=\\\"400\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"400\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEbGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIyLTA4LTMxPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjllMDhjZjRjLTk4NmEtNDIzYi1hYTllLWE1OGE3NGMyZmJkODwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Sb2JvUGFpbnRlcjwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi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csMYwWPcvU/YCxkGARmZ02+EUbwp/Oa/tP8whrFJesVdjtGM74z85m98/PdhJOMbxfvkDsUhLABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAISUQw8A2ySd+vKBx9LpxmNDD6QnppP7lAcey2nduOzU33GnIyA4I5fydcmvS15oVAHJ1yWfDz2QntRSvqZmBT2igFjRjMsX7T+M5fnHkAgIzsYm0sHjUp5JNqYjn9aMafoDQw9kRe0WfXmvdPATUppqXCvpJNWH0uTB9u/sgUAydx/TqxRj5C7ZNqwwXHLb3nXbtjzO2zJOrN2YNiUxRq5mhbwN2xndWLfR8eM89ECWsVWDxRpwCAu3cWrNNvaImJ2Mceu2kE8/zkOP5Ta6x3nbHmL0jkNYAIAQDmEBAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAg5P8BuswYmRyS+ZYAAAAASUVORK5CYII=\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42780,"title":"GJam March 2016 IOW: Password Single","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/8274486/dashboard#s=p3 GJam March 2016 Annual I/O for Password Security\u003e. This is the small-1 case of only a single password\r\n\r\nThe GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'. \r\n\r\n*Input:* [PW], string of 1 to 26 characters\r\n\r\n*Output:* [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\r\n\r\n*Examples:* [PW] [Pstr]\r\n\r\n  [X] [IMPOSSIBLE] \r\n  [QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ] \r\n \r\n\r\n*\u003chttp://code.google.com/codejam Google Code Jam 2016 Open Qualifier: April 8, 2016\u003e*\r\n\r\n*Theory:* Single password case is a three liner.\r\n\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/8274486/dashboard#s=p3\"\u003eGJam March 2016 Annual I/O for Password Security\u003c/a\u003e. This is the small-1 case of only a single password\u003c/p\u003e\u003cp\u003eThe GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [PW], string of 1 to 26 characters\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e [PW] [Pstr]\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[X] [IMPOSSIBLE] \r\n[QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ] \r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003e\u003ca href = \"http://code.google.com/codejam\"\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/a\u003e\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eTheory:\u003c/b\u003e Single password case is a three liner.\u003c/p\u003e","function_template":"function Pstr=Password(c)\r\n% c is a string [A:Z]\r\n% create Pstr that contains [A:Z] such that no c exists in Pstr\r\n% if not possible return Pstr='IMPOSSIBLE'\r\n Pstr='IMPOSSIBLE';\r\n\r\nend","test_suite":"%%\r\ntic\r\nm='ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\nvexp='ZYXWVUTSRQPONMLKJIHGFEDCBA';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='X';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QQ';\r\nvexp='QABCDEFGHIJKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VLCIFDXB';\r\nvexp='BXDFICLVAEGHJKMNOPQRSTUWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='Z';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IKFBJUXSECAHNYLRVWDQPTZOMG';\r\nvexp='GMOZTPQDWVRLYNHACESXUJBFKI';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XQOHEJIUZVFRSMLGYNWDBATP';\r\nvexp='PTABDWNYGLMSRFVZUIJEHOQXCK';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JO';\r\nvexp='OJABCDEFGHIKLMNPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='UJ';\r\nvexp='JUABCDEFGHIKLMNOPQRSTVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JQ';\r\nvexp='QJABCDEFGHIKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PJ';\r\nvexp='JPABCDEFGHIKLMNOQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JK';\r\nvexp='KJABCDEFGHILMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AJILRWDVYFQNUPOSKXGTCME';\r\nvexp='EMCTGXKSOPUNQFYVDWRLIJABHZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JV';\r\nvexp='VJABCDEFGHIKLMNOPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='UOFVH';\r\nvexp='HVFOUABCDEGIJKLMNPQRSTWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZBITRKUX';\r\nvexp='XUKRTIBZACDEFGHJLMNOPQSVWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RXHYDMIVCWTQN';\r\nvexp='NQTWCVIMDYHXRABEFGJKLOPSUZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VONM';\r\nvexp='MNOVABCDEFGHIJKLPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LPNXTMRA';\r\nvexp='ARMTXNPLBCDEFGHIJKOQSUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PKBAYN';\r\nvexp='NYABKPCDEFGHIJLMOQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JBHWXAPIKGZLYDSVNEQRFCU';\r\nvexp='UCFRQENVSDYLZGKIPAXWHBJMOT';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JD';\r\nvexp='DJABCEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JL';\r\nvexp='LJABCDEFGHIKMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CENHVFYD';\r\nvexp='DYFVHNECABGIJKLMOPQRSTUWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CIJTQSGVWKEXLO';\r\nvexp='OLXEKWVGSQTJICABDFHMNPRUYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AJ';\r\nvexp='JABCDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RJ';\r\nvexp='JRABCDEFGHIKLMNOPQSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QJ';\r\nvexp='JQABCDEFGHIKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LJ';\r\nvexp='JLABCDEFGHIKMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RUTGILBYCWO';\r\nvexp='OWCYBLIGTURADEFHJKMNPQSVXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='WJ';\r\nvexp='JWABCDEFGHIKLMNOPQRSTUVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JI';\r\nvexp='IJABCDEFGHKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RPFLXJAUNZDYBCQHKOGEW';\r\nvexp='WEGOKHQCBYDZNUAJXLFPRIMSTV';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JC';\r\nvexp='CJABDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZZ';\r\nvexp='ZABCDEFGHIJKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='NJ';\r\nvexp='JNABCDEFGHIKLMOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JN';\r\nvexp='NJABCDEFGHIKLMOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='OJ';\r\nvexp='JOABCDEFGHIKLMNPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YJ';\r\nvexp='JYABCDEFGHIKLMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ASQHIYWOVDK';\r\nvexp='KDVOWYIHQSABCEFGJLMNPRTUXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JR';\r\nvexp='RJABCDEFGHIKLMNOPQSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IAQPHFOVLZRXK';\r\nvexp='KXRZLVOFHPQAIBCDEGJMNSTUWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='TJ';\r\nvexp='JTABCDEFGHIKLMNOPQRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JB';\r\nvexp='BJACDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SKTMEYDBNQFGH';\r\nvexp='HGFQNBDYEMTKSACIJLOPRUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='HJ';\r\nvexp='JHABCDEFGIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LCIUBXSAMQJYNDRKTHPWEOV';\r\nvexp='VOEWPHTKRDNYJQMASXBUICLFGZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LEBIYF';\r\nvexp='FYIBELACDGHJKMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QDUFXPLKWJYOV';\r\nvexp='VOYJWKLPXFUDQABCEGHIMNRSTZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZJ';\r\nvexp='JZABCDEFGHIKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VNTIKRQLEUJZDSAYFHMG';\r\nvexp='GMHFYASDZJUELQRKITNVBCOPWX';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JU';\r\nvexp='UJABCDEFGHIKLMNOPQRSTVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CJ';\r\nvexp='JCABDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VJ';\r\nvexp='JVABCDEFGHIKLMNOPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='GJ';\r\nvexp='JGABCDEFHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='MJ';\r\nvexp='JMABCDEFGHIKLNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JM';\r\nvexp='MJABCDEFGHIKLNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JWPOBESYCLURKTMXGAQFHZ';\r\nvexp='ZHFQAGXMTKRULCYSEBOPWJDINV';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YXWVPTANLC';\r\nvexp='CLNATPVWXYBDEFGHIJKMOQRSUZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DHTGFSRVMWKNXOBUPCLAIQYEJZ';\r\nvexp='ZJEYQIALCPUBOXNKWMVRSFGTHD';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='BHZLJATP';\r\nvexp='PTAJLZHBCDEFGIKMNOQRSUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XJ';\r\nvexp='JXABCDEFGHIKLMNOPQRSTUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AA';\r\nvexp='ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='FKMWBLNRQUDHOGZVCIAE';\r\nvexp='EAICVZGOHDUQRNLBWMKFJPSTXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='NQCHZXIUTVLKD';\r\nvexp='DKLVTUIXZHCQNABEFGJMOPRSWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JP';\r\nvexp='PJABCDEFGHIKLMNOQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='OYSLPBQVHDZE';\r\nvexp='EZDHVQBPLSYOACFGIJKMNRTUWX';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JT';\r\nvexp='TJABCDEFGHIKLMNOPQRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JA';\r\nvexp='AJBCDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SJ';\r\nvexp='JSABCDEFGHIKLMNOPQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='FJ';\r\nvexp='JFABCDEGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ITQXRCOULKH';\r\nvexp='HKLUOCRXQTIABDEFGJMNPSVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='EJ';\r\nvexp='JEABCDFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DJ';\r\nvexp='JDABCEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VDSHZWRBAYUJEMFIONXPTKL';\r\nvexp='LKTPXNOIFMEJUYABRWZHSDVCGQ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PWGUA';\r\nvexp='AUGWPBCDEFHIJKLMNOQRSTVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IMPOSSIBLE';\r\nvexp='ELBISOPMACDFGHJKNQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XBYKNRGLJVFEPTUO';\r\nvexp='OUTPEFVJLGRNKYBXACDHIMQSWZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JH';\r\nvexp='HJABCDEFGIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='KTMDLQ';\r\nvexp='QLDMTKABCEFGHIJNOPRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LUNSVKPGFJOXEAQMBDZ';\r\nvexp='ZDBMQAEXOJFGPKVSNULCHIRTWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IJ';\r\nvexp='JIABCDEFGHKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VOKCMQBHWUNZGJ';\r\nvexp='JGZNUWHBQMCKOVADEFILPRSTXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JY';\r\nvexp='YJABCDEFGHIKLMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='A';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JW';\r\nvexp='WJABCDEFGHIKLMNOPQRSTUVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JX';\r\nvexp='XJABCDEFGHIKLMNOPQRSTUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JF';\r\nvexp='FJABCDEGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SLMAWBIKZCXOHQFGPYUDNJV';\r\nvexp='VJNDUYPGFQHOXCZKIBWAMLSERT';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XDLNMWTESQIFYRHCPOA';\r\nvexp='AOPCHRYFIQSETWMNLDXBGJKUVZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='KJ';\r\nvexp='JKABCDEFGHILMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='MHZAXUFKDVQORNWYTCGEISBJ';\r\nvexp='JBSIEGCTYWNROQVDKFUXAZHMLP';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DCAZKJ';\r\nvexp='JKZACDBEFGHILMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='BJ';\r\nvexp='JBACDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JZ';\r\nvexp='ZJABCDEFGHIKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JG';\r\nvexp='GJABCDEFHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SAMWRULICJGBEFYKVQTONPDZXH';\r\nvexp='HXZDPNOTQVKYFEBGJCILURWMAS';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JS';\r\nvexp='SJABCDEFGHIKLMNOPQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JE';\r\nvexp='EJABCDFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YXUMAFB';\r\nvexp='BFAMUXYCDEGHIJKLNOPQRSTVWZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n\r\n\r\ntoc","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-20T00:37:14.000Z","updated_at":"2025-12-07T18:55:37.000Z","published_at":"2016-03-20T00:52:13.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\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://code.google.com/codejam/contest/8274486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam March 2016 Annual I/O for Password Security\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. This is the small-1 case of only a single password\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 GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'.\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 [PW], string of 1 to 26 characters\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 [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [PW] [Pstr]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[X] [IMPOSSIBLE] \\n[QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]]]\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Single password case is a three liner.\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":2652,"title":"Kurchan 5x5 - Optimal Score","description":"Related to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\r\nFor example: Magic(5) is\r\n    17    24     1     8    15\r\n    23     5     7    14    16\r\n     4     6    13    20    22\r\n    10    12    19    21     3\r\n    11    18    25     2     9\r\nThe row products are:\r\n17 * 24 * 1 * 8 * 15=48960\r\n23 * 5 * 7 * 14 * 16=180320\r\n4 * 6 * 13 * 20 * 22=137280\r\n10 * 12 * 19 * 21 * 3=143640\r\n11 * 18 * 25 * 2 * 9=89100\r\nThe column products are:\r\n17 * 23 * 4 * 10 * 11=172040\r\n24 * 5 * 6 * 12 * 18=155520\r\n1 * 7 * 13 * 19 * 25=43225\r\n8 * 14 * 20 * 21 * 2=94080\r\n15 * 16 * 22 * 3 * 9=142560\r\nThe diagonal products are:\r\n17*5*13*21*9=208845\r\n24*7*20*3*11=110880\r\n1*14*22*10*18=55440\r\n8*16*4*12*25=153600\r\n15*23*6*19*2=78660\r\nThe anti-diagonal products are:\r\n15*14*13*12*11=360360\r\n8*7*6*10*9=30240\r\n1*5*4*3*2=120\r\n24*23*22*21*25=6375600\r\n17*16*20*19*18=1860480\r\nThe highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.","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: 890.833px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 445.417px; transform-origin: 407px 445.417px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRelated to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\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: 77.5px 8px; transform-origin: 77.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example: Magic(5) is\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 102.167px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 51.0833px; transform-origin: 404px 51.0833px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    17    24     1     8    15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    23     5     7    14    16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     4     6    13    20    22\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    10    12    19    21     3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    11    18    25     2     9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 69.5px 8px; transform-origin: 69.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe row products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17 * 24 * 1 * 8 * 15=48960\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e23 * 5 * 7 * 14 * 16=180320\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e4 * 6 * 13 * 20 * 22=137280\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 90px 8px; transform-origin: 90px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10 * 12 * 19 * 21 * 3=143640\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 81.5px 8px; transform-origin: 81.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11 * 18 * 25 * 2 * 9=89100\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 81px 8px; transform-origin: 81px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe column products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 89.5px 8px; transform-origin: 89.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17 * 23 * 4 * 10 * 11=172040\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24 * 5 * 6 * 12 * 18=155520\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1 * 7 * 13 * 19 * 25=43225\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8 * 14 * 20 * 21 * 2=94080\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15 * 16 * 22 * 3 * 9=142560\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 85.5px 8px; transform-origin: 85.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe diagonal products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17*5*13*21*9=208845\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 69px 8px; transform-origin: 69px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24*7*20*3*11=110880\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1*14*22*10*18=55440\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8*16*4*12*25=153600\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 66px 8px; transform-origin: 66px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15*23*6*19*2=78660\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 99.5px 8px; transform-origin: 99.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe anti-diagonal products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 77.5px 8px; transform-origin: 77.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15*14*13*12*11=360360\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 58px 8px; transform-origin: 58px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8*7*6*10*9=30240\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 46px 8px; transform-origin: 46px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1*5*4*3*2=120\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24*23*22*21*25=6375600\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17*16*20*19*18=1860480\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = kurchan_5x5\r\n  % Input your matrix or code below\r\ny=magic(5)\r\nend","test_suite":"%%\r\ny = kurchan_5x5\r\nuy=unique(y(:));\r\nassert(isequal(uy,[1:25]'));\r\n\r\ndg = @(mm) spdiags([mm mm],1:length(mm));\r\npy=prod([y y' dg(y) dg(flipud(y))]);\r\ncody_score=max(py)-min(py);\r\n\r\nfprintf('Maximum product of your matrix = %.0f \\n',max(py))\r\nfprintf('Minimum product of your matrix = %.0f \\n',min(py))\r\nfprintf('Kurchan score of your matrix   = %.0f \\n',cody_score)\r\nfeval(@assignin,'caller','score',cody_score);","published":true,"deleted":false,"likes_count":1,"comments_count":5,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":43,"test_suite_updated_at":"2021-10-02T19:34:56.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-10-31T14:35:09.000Z","updated_at":"2026-03-16T13:30:43.000Z","published_at":"2014-10-31T14:39:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRelated to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\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\u003eFor example: Magic(5) is\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[    17    24     1     8    15\\n    23     5     7    14    16\\n     4     6    13    20    22\\n    10    12    19    21     3\\n    11    18    25     2     9]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe row products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17 * 24 * 1 * 8 * 15=48960\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e23 * 5 * 7 * 14 * 16=180320\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e4 * 6 * 13 * 20 * 22=137280\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e10 * 12 * 19 * 21 * 3=143640\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e11 * 18 * 25 * 2 * 9=89100\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 column products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17 * 23 * 4 * 10 * 11=172040\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24 * 5 * 6 * 12 * 18=155520\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1 * 7 * 13 * 19 * 25=43225\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8 * 14 * 20 * 21 * 2=94080\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15 * 16 * 22 * 3 * 9=142560\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 diagonal products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17*5*13*21*9=208845\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24*7*20*3*11=110880\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1*14*22*10*18=55440\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8*16*4*12*25=153600\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15*23*6*19*2=78660\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 anti-diagonal products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15*14*13*12*11=360360\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8*7*6*10*9=30240\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1*5*4*3*2=120\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24*23*22*21*25=6375600\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17*16*20*19*18=1860480\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 highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47295,"title":"Find Logic 13","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 100\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 102\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 99\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 103\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 98\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 100;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 100;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\nassert(isequal(logic(x),102))\r\n\r\n%%\r\nx = 4;\r\nassert(isequal(logic(x),103))\r\n\r\n%%\r\nx = 7;\r\nassert(isequal(logic(x),97))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":403,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T07:07:30.000Z","updated_at":"2026-02-14T07:02:11.000Z","published_at":"2020-11-05T07:07:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 100\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\u003elogic(2) = 102\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\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 103\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\u003elogic(5) = 98\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\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47370,"title":"Find Logic 25","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(11) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(15) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(22) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value according to logic in problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 15;\r\ny_correct = 6;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":234,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T13:48:01.000Z","updated_at":"2026-02-14T13:45:20.000Z","published_at":"2020-11-06T13:48:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(11) = 2\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\u003elogic(15) = 6\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\u003elogic(22) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function logic(x) which will return value according to logic in problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47345,"title":"Find Logic 20","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(6) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 7;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 7;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 4;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\nassert(isequal(logic(x),9))\r\n\r\n%%\r\nx = 6;\r\nassert(isequal(logic(x),2))","published":true,"deleted":false,"likes_count":3,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":365,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T05:30:27.000Z","updated_at":"2026-03-17T20:15:27.000Z","published_at":"2020-11-06T05:30:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 7\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\u003elogic(2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 3\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\u003elogic(5) = 9\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\u003elogic(6) = 2\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60623,"title":"ICFP2024 007: Lambdaman 1, 2, 3 Breadth Solver","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\r\n\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\nThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.","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: 315px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 157.5px; transform-origin: 407px 157.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 356.5px 8px; transform-origin: 356.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 332px 8px; transform-origin: 332px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function pathbest = Lambdaman_123(m)\r\n% Maze 1 solves in 15 so max states is 4^15=1.07e9\r\n% Each depth loop creates all new legal states from prior depth states\r\n% Maze 3 Fails miserably for pure breadth so key throat points checked for uneaten cheese\r\n%History of prior states maintained to eliminate duplicated states\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr];\r\n bn2=nnz(m(:)==2);\r\n stateh=zeros(20000,nr*nc,'int8');\r\n spath=zeros(20000,15,'uint8');\r\n c2=nnz(m(:)==2);\r\n statec2=ones(20000,1)*c2;\r\n stateh(1,:)=m(:);\r\n sptr=1; eptr=1;\r\n enptr=eptr;\r\n depth=0;\r\n \r\n m3=nr*nc==72; % Hack for Lambdaman3\r\n \r\n while c2\u003e0\r\n  depth=depth+1;\r\n  fprintf('Depth:%i sptr:%i eptr:%i\\n',depth,sptr,eptr)\r\n  for hptr=sptr:eptr\r\n   ms=stateh(hptr,:);\r\n   \r\n   Lidx=find(ms==1);\r\n   \r\n   if m3 % Hack for Lambdaman3: Check chokepoints for completion\r\n    if Lidx==26 \u0026\u0026 nnz(ms([62 52 34])==2),continue;end %Lower grp\r\n    if Lidx==26 \u0026\u0026 ms(17)==3,continue;end % turn aroud\r\n    if Lidx==12 \u0026\u0026 nnz(ms([24 22 32 14])==2),continue;end %Left grp\r\n    if Lidx==12 \u0026\u0026 ms(11)==3,continue;end % turn aroud\r\n    if Lidx==20 \u0026\u0026 ms(29)==3,continue;end % turn aroud\r\n   end\r\n   \r\n   Cadj=ms(adj+Lidx);\r\n   msn=ms;\r\n   msn(Lidx)=3; %Lambdaman will move\r\n   for i=1:4 % UDLR\r\n    if Cadj(i)==0,continue;end % Ignore into wall Cadj==0 movement\r\n     Lidxn=Lidx+adj(i);\r\n     msn(Lidxn)=1;\r\n     \r\n     c2=nnz(msn==2);\r\n     ptr1=find(msn==2,1,'first');\r\n     ptr2=find(msn==2,1,'last');\r\n     cvec=statec2(1:enptr)==c2; % Reduce vector check only to c2 qty vectors\r\n     cvec=cvec \u0026 stateh(1:enptr,Lidxn)==1 \u0026 stateh(1:enptr,ptr1)==2 \u0026 stateh(1:enptr,ptr2)==2;\r\n     if nnz(cvec) % Perform a check\r\n      if nnz(sum(abs(stateh(cvec,:)-msn),2)==0) %23K/1.9s Pre-exist state check\r\n        msn(Lidxn)=ms(Lidxn); % Reset msn\r\n       continue; %Abort when create an existing prior state\r\n      end\r\n     end\r\n     \r\n     enptr=enptr+1; % new valid state\r\n     spath(enptr,:)=spath(hptr,:);\r\n     spath(enptr,depth)=i; % UDLR as 1 2 3 4\r\n     stateh(enptr,:)=msn;\r\n     msn(Lidxn)=ms(Lidxn); % Reset msn\r\n     statec2(enptr)=c2;\r\n          \r\n     if c2==0,break;end\r\n   end % UDLR\r\n   if c2==0\r\n    eptr=enptr;\r\n    break;\r\n   end\r\n   \r\n  end % hptr\r\n  sptr=eptr+1; % update wave\r\n  eptr=enptr;\r\n   \r\n end % while  c2\u003e0\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(spath(eptr,1:depth));\r\n fprintf('BestPath:');fprintf('%s',pathbest);fprintf('\\n')\r\n  \r\nend %maze_breadth","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 1  optimal solution L15 LLLDURRRUDRRURR\r\nms=['###.#...'\r\n    '...L..##'\r\n    '.#######'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==15\r\n  valid=1;\r\n else\r\n  fprintf('Length 15 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26 RDURRDDRRUUDDLLLDLLDDRRRUR\r\nms=['L...#.'\r\n    '#.#.#.'\r\n    '##....'\r\n    '...###'\r\n    '.##..#'\r\n    '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\n\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==26\r\n  valid=1;\r\n else\r\n  fprintf('Length 26 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 3  optimal solution L40 DRDRLLLUDLLUURURLLURLUURRDRDRDRDUUUULDLU\r\nms=[  '......'\r\n      '.#....'\r\n      '..#...'\r\n      '...#..'\r\n      '..#L#.'\r\n      '.#...#'\r\n      '......'];\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==40\r\n  valid=1;\r\n else\r\n  fprintf('Length 40 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-14T03:49:34.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-13T14:56:14.000Z","updated_at":"2025-12-08T21:14:18.000Z","published_at":"2024-07-14T03:49:34.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47240,"title":"Find Logic 6","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic and Make a function by finding logic from this problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 29\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 66\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction logic(x) will return 'x' th term of this sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 3;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 66;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 514;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":402,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T06:26:21.000Z","updated_at":"2026-02-27T04:52:00.000Z","published_at":"2020-11-04T06:26:21.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic and Make a function by finding logic from this problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 3\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\u003elogic(2) = 10\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\u003elogic(3) = 29\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\u003elogic(4) = 66\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\u003eFunction logic(x) will return 'x' th term of this sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47350,"title":"Find Logic 21","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 45\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 60\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 72\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value equal  to 'x'th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 45;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 45;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 60;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 72;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":261,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T06:12:12.000Z","updated_at":"2026-03-17T20:16:52.000Z","published_at":"2020-11-06T06:12:12.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 45\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\u003elogic(2) = 15\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\u003elogic(3) = 60\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\u003elogic(4) = 12\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\u003elogic(5) = 72\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\u003eMake a function logic(x) which will return value equal  to 'x'th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60603,"title":"ICFP2024 003: Lambdaman 5","description":"The ICFP2024 contest was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\nThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\r\nB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  The usage B$ v\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\r\nThe big hint here is that ICFP O is U, \u003e is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\r\n\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nI will be posting the entire ICFP2024 contest challenges and best solutions.\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: 728.767px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 364.383px; transform-origin: 407px 364.383px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 302px 8px; transform-origin: 302px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 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: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 186px 8px; transform-origin: 186px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 230.267px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 115.133px; transform-origin: 391px 115.133px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.....########...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e....#...........\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e...#..######....\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e..#..#......#...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#..#...##...#..\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#..#..#L.#...#.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#...#....#...#.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e..#...####...#..\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e...#........#...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e....########....\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e................\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 350px 8px; transform-origin: 350px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 375px 8px; transform-origin: 375px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  The usage B$ v\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 377px 8px; transform-origin: 377px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe big hint here is that ICFP O is U, \u0026gt; is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.75px; text-align: left; transform-origin: 384px 10.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; \"\u003e\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 235.5px 8px; transform-origin: 235.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI will be posting the entire ICFP2024 contest challenges and best 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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman5(m)\r\n% m is a maze where 2 is cheese to eat, 1 is Lambdaman the token being moved, and\r\n% 0 is a wall\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman5 is a string of about 220 RDLU characters\r\n%Answers may vary wildly\r\n v='RDLLLU';\r\nend\r\n\r\n%Lambdaman 5 ICFP dataset and optimal solution\r\n%{\r\nMaze\r\nSlllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\n\r\nSolution\r\nB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO \r\nL! B. B. v! v! v! \r\n\r\nwhich defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  \r\nThe usage B$ v\" invokes triple(x) \r\nthus the main becomes triple(triple(triple(SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO) )) \r\nor 27 repeats of the string.\r\nThe big hint here is that ICFP O is U, \u003e is D, F is L, and L is R when decrypted. \r\nRunning into walls causes no movement and since this is a spiral maze there appears to be \r\na short sequence that spans all the cheesy bits when repeated.  \r\nTo me it was nuts that someone devised this short sequence.\r\n\r\n%}\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}\r\n\r\n","test_suite":"%%\r\nvalid=0;\r\n%   # Wall 0   L lambdaman 1,   . Cheese 2,   \r\n%11x16\r\nms=['.....########...'\r\n'....#...........'\r\n'...#..######....'\r\n'..#..#......#...'\r\n'.#..#...##...#..'\r\n'.#..#..#L.#...#.'\r\n'.#...#....#...#.'\r\n'..#...####...#..'\r\n'...#........#...'\r\n'....########....'\r\n'................'];\r\n\r\n[nr,nc]=size(ms);\r\nm=ones(nr,nc)*2; %Cheese bits are 2.\r\nm(ms=='#')=0; % Wall\r\nm(ms=='L')=1; % Landaman, start point\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\nfprintf('\\n');\r\n\r\nv = Lambdaman5(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman start point\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n%mc\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\n%}","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-10T06:39:55.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-10T05:41:35.000Z","updated_at":"2025-12-16T01:40:53.000Z","published_at":"2024-07-10T06:39:55.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.....########...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e....#...........\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e...#..######....\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e..#..#......#...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#..#...##...#..\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#..#..#L.#...#.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#...#....#...#.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e..#...####...#..\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e...#........#...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e....########....\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e................\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\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\u003eB$ L\\\" B. S3/,6%},!-\\\"$!-!.Z} B$ v\\\" B$ v\\\" B$ v\\\" SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\\\" as triple(x) from B$ L\\\" and L! B. B. v! v! v!  The usage B$ v\\\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\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 big hint here is that ICFP O is U, \u0026gt; is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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\u003eI will be posting the entire ICFP2024 contest challenges and best 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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60628,"title":"ICFP2024 008: Lambdaman4 Breadth Solver","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\r\n\r\nThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.","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: 675px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 337.5px; transform-origin: 407px 337.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 381.5px 8px; transform-origin: 381.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 420px; 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 210px; text-align: left; transform-origin: 384px 210px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 560px;height: 420px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"560\" height=\"420\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function pathbest = Lambdaman4_Breadth(m)\r\n% Maze 4 Fails miserably for pure breadth so key throat points checked for uneaten cheese\r\n% Work maze 4 via smallest cul-de-sac from any multi-choice path node\r\n%History of prior states maintained to eliminate duplicated states\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr];\r\n %bn2=nnz(m(:)==2);\r\n stateh=zeros(95000,nr*nc,'int8');\r\n spath=zeros(95000,15,'uint8');\r\n c2=nnz(m(:)==2);\r\n statec2=ones(95000,1)*c2;\r\n stateh(1,:)=m(:);\r\n sptr=1; eptr=1;\r\n enptr=eptr;\r\n depth=0;\r\n \r\n %m3=nr*nc==72; % Hack for Lambdaman3\r\n m4=nr*nc==21*21;\r\n \r\n tic;\r\n while c2\u003e0\r\n  depth=depth+1;\r\n  if mod(depth,5)==0\r\n   fprintf('Depth:%i sptr:%i eptr:%i  Time:%.1f\\n',depth,sptr,eptr,toc)\r\n  end\r\n  for hptr=sptr:eptr\r\n   ms=stateh(hptr,:);\r\n   \r\n   Lidx=find(ms==1);\r\n   \r\n%    if m3 % Hack for Lambdaman3: Check chokepoints for completion\r\n%     if Lidx==26 \u0026\u0026 nnz(ms([62 52 34])==2),continue;end %Lower grp\r\n%     if Lidx==26 \u0026\u0026 ms(17)==3,continue;end % turn aroud\r\n%     if Lidx==12 \u0026\u0026 nnz(ms([24 22 32 14])==2),continue;end %Left grp\r\n%     if Lidx==12 \u0026\u0026 ms(11)==3,continue;end % turn aroud\r\n%     if Lidx==20 \u0026\u0026 ms(29)==3,continue;end % turn aroud\r\n%    end\r\n   \r\n% Lambdaman4\r\n% BR first L358  5.6s\r\n% BL first L348 11.3s\r\n% based on distance back to node after filling, max dist from node?\r\n    if m4 % Hack for Lambdaman4: Check chokepoints for completion\r\n    if Lidx==152 \u0026\u0026 nnz(ms([65 107 113 195])==2),continue;end %TL\r\n    if Lidx==152 \u0026\u0026 ms(5+7*21-1)==3,continue;end % turn aroud\r\n    \r\n     %if Lidx==172 \u0026\u0026 ms(401)==2,continue;end % TR\r\n     %if Lidx==276 \u0026\u0026 ms(317)==2,continue;end % TR\r\n     %if Lidx==360 \u0026\u0026 ms(403)==2,continue;end % TR\r\n    if Lidx==172 \u0026\u0026 nnz(ms([317 401 403])==2),continue;end %TL\r\n    if Lidx==172 \u0026\u0026 ms(193)==3,continue;end %Turn around\r\n    \r\n    if (Lidx==240 || Lidx==260) \u0026\u0026 ms(197)==2,continue;end  % Force shortest first\r\n\r\n%Go BL First\r\n    if Lidx==281 \u0026\u0026 ms(27)==2,continue;end %Abort BR before BL\r\n    \r\n     if Lidx==202 \u0026\u0026 ms(157)==2,continue;end % Mid BL LU Big slow down without\r\n     if Lidx==204 \u0026\u0026 ms(245)==2,continue;end % Mid BL\r\n    if Lidx==206 \u0026\u0026 nnz(ms([27 35 41 77 83  167])==2),continue;end % BL\r\n    \r\n    if Lidx==162 \u0026\u0026 ms(167)==2,continue;end % BL\r\n    if Lidx==118 \u0026\u0026 nnz(ms([77 41 83])==2),continue;end % BL\r\n    if Lidx==54 \u0026\u0026 nnz(ms([71 115])==2),continue;end % BL L 8,4 10,6\r\n    \r\n    if Lidx==96 \u0026\u0026 ms(54)==3 \u0026\u0026 nnz(ms([27 35])==2),continue;end % Missed 6,2 or 14,2\r\n    if Lidx==204 \u0026\u0026 ms(27)==3 \u0026\u0026 nnz(ms([209 251 293])==2),continue;end % Missed 20 [10 12 14]\r\n\r\n    \r\n    if Lidx==280 \u0026\u0026 ms(323)==2,continue;end % BR\r\n      if Lidx==281 \u0026\u0026 ms(280)==3,continue;end % turn around\r\n      \r\n     if Lidx==364 \u0026\u0026 ms(405)==2,continue;end % BR\r\n       if Lidx==363 \u0026\u0026 ms(364)==3,continue;end % turn around\r\n     if Lidx==368 \u0026\u0026 ms(325)==2,continue;end % BR\r\n       if Lidx==367 \u0026\u0026 ms(368)==3,continue;end % turn around\r\n     if Lidx==388 \u0026\u0026 nnz(ms([373 371])==2),continue;end %BR\r\n     if Lidx==286 \u0026\u0026 nnz(ms([283 243])==2),continue;end % BR 10.7s\r\n        \r\n   end % BL first\r\n   \r\n   \r\n   \r\n   Cadj=ms(adj+Lidx);\r\n   msn=ms;\r\n   msn(Lidx)=3; %Lambdaman will move\r\n   for i=1:4 % UDLR\r\n    if Cadj(i)==0,continue;end % Ignore into wall Cadj==0 movement\r\n     Lidxn=Lidx+adj(i);\r\n     msn(Lidxn)=1;\r\n     \r\n     c2=nnz(msn==2);\r\n     ptr1=find(msn==2,1,'first');\r\n     ptr2=find(msn==2,1,'last');\r\n     cvec=statec2(1:enptr)==c2; % Reduce vector check only to c2 qty vectors\r\n     cvec=cvec \u0026 stateh(1:enptr,Lidxn)==1 \u0026 stateh(1:enptr,ptr1)==2 \u0026 stateh(1:enptr,ptr2)==2;\r\n     if nnz(cvec) % Perform a check\r\n      if nnz(sum(abs(stateh(cvec,:)-msn),2)==0) %23K/1.9s Pre-exist state check\r\n        msn(Lidxn)=ms(Lidxn); % Reset msn\r\n       continue; %Abort when create an existing prior state\r\n      end\r\n     end\r\n     \r\n     enptr=enptr+1; % new valid state\r\n     spath(enptr,:)=spath(hptr,:);\r\n     spath(enptr,depth)=i; % UDLR as 1 2 3 4\r\n     stateh(enptr,:)=msn;\r\n     msn(Lidxn)=ms(Lidxn); % Reset msn\r\n     statec2(enptr)=c2;\r\n          \r\n     if c2==0,break;end\r\n   end % UDLR\r\n   if c2==0\r\n    eptr=enptr;\r\n    break;\r\n   end\r\n   \r\n  end % hptr\r\n  sptr=eptr+1; % update wave\r\n  eptr=enptr;\r\n   \r\n end % while  c2\u003e0\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(spath(eptr,1:depth));\r\n fprintf('BestPath:');fprintf('%s',pathbest);fprintf('\\n')\r\n  \r\nend","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 4  optimal solution L348 DDLLRRUULLUUUUDDDDLLUULLUURRLLDDRRDDRRRRRRLLUUUURRRRRRDDRRRRUURRLLDDRRLLLLLLUURRLLLLLLLLDDRRRRDDDDLLRRDDLLDDLLUUDDRRDDRRLLDDLLDDDDUUUUUULLDDDDDDLLRRUULLLLUURRUUDDLLDDDDUURRRRUUUUUULLUUUUDDRRLLDDLLUUUUUUDDDDDDDDUURRRRDDRRDDRRDDDDUURRDDUURRDDUULLLLUUUUUUUURRUURRRRLLUURRRRRRLLDDRRDDDDDDDDLLRRUULLRRUUUULLLLRRDDLLLLUUDDLLRRDDRRDDLLLLRRRRDDDDRRRRLLUURR\r\n ms=[ ...\r\n'...#.#.........#...'\r\n'.###.#.#####.###.##'\r\n'...#.#.....#.......'\r\n'##.#.#.###.########'\r\n'.#....L..#.#.......'\r\n'.#####.###.#.###.##'\r\n'.#.#...#.......#...'\r\n'.#.#######.#######.'\r\n'.#...#.#...#.#.....'\r\n'.#.###.#.###.###.#.'\r\n'.....#...#.......#.'\r\n'.###.###.###.#####.'\r\n'.#.#...#...#...#...'\r\n'##.#.#.#.#####.###.'\r\n'...#.#...#.....#...'\r\n'.###.#.#.#####.####'\r\n'.....#.#.....#.#...'\r\n'.###.#.#.#.#.#.#.##'\r\n'.#...#.#.#.#.#.....'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman4_Breadth(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\nfprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=348\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=348 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-15T04:13:17.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-15T03:21:20.000Z","updated_at":"2024-07-15T04:13:17.000Z","published_at":"2024-07-15T04:11:11.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\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=\\\"420\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"560\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60651,"title":"ICFP2024 011:Lambdaman Small programmed solutions","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nSolve these mazes while having a total file size including comments less than 1000.\r\n%Descriptions\r\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\r\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: size(50,50) with L at 1,1\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: 316.6px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 440.5px 158.3px; transform-origin: 440.5px 158.3px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 260.5px 8px; transform-origin: 260.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSolve these mazes while having a total file size including comments less than 1000.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 122.6px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 437.5px 61.3px; transform-origin: 437.5px 61.3px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 52px 8.5px; tab-size: 4; transform-origin: 52px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%Descriptions\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 172px 8.5px; tab-size: 4; transform-origin: 172px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 412px 8.5px; tab-size: 4; transform-origin: 412px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 144px 8.5px; tab-size: 4; transform-origin: 144px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%6: size(1,200) with L at 1,1 199 Rs\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 304px 8.5px; tab-size: 4; transform-origin: 304px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%9: size(50,50) with L at 1,1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [path]=case_solutions(m,ICFP_id)\r\n% This is pre-programmed solutions for multiple ICFP_ids\r\n%The goal is to minimize programming size and solve each ID\r\n%Total m size is limited and checked by test suite. No 10s allowed\r\n\r\n%Descriptions\r\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\r\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: size(50,50) with L at 1,1\r\nif ICFP_id==1\r\n path='UDLLLDURRRRRURR';\r\nelseif ICFP_id==5 \r\n path='';\r\nelseif ICFP_id==6 \r\n path='';\r\nelseif ICFP_id==8 \r\n path='';\r\nelseif ICFP_id==9\r\n path='';\r\nelse\r\n path='';\r\nend\r\n\r\nend % case solutions","test_suite":"%%\r\nvalid=1;\r\n%Accessing dir to get file size\r\nz=dir;\r\nzdata=struct2table(z);\r\nzdir_idx=find(strcmp(zdata.name,'case_solutions.m'));\r\nmsize=z(zdir_idx).bytes;\r\nif msize\u003e1000\r\n valid=0;\r\n fprintf('Fail m file size check of 1000. Your m file size is %i\\n\\n',msize)\r\nelse\r\n fprintf('Passed m file size check of 1000. With m file size being %i\\n\\n',msize)  \r\nend\r\n\r\n%Loop through cases \r\n%Descriptions\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n%1: Small puzzle 15 moves: UDLLLDURRRRRURR\r\n%5: Spiral (11,16) L mid. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: Open square size(50,50) with L at 1,1\r\nfor m_id=[1 5 6 8 9]\r\n\r\nif m_id==1\r\n%Lambdaman 1  optimal solution L15\r\n   ms=['###.#...'\r\n       '...L..##'\r\n       '.#######'];\r\nelseif m_id==5\r\n   ms=[ ...\r\n'.....########...'\r\n'....#...........'\r\n'...#..######....'\r\n'..#..#......#...'\r\n'.#..#...##...#..'\r\n'.#..#..#L.#...#.'\r\n'.#...#....#...#.'\r\n'..#...####...#..'\r\n'...#........#...'\r\n'....########....'\r\n'................'];\r\nelseif m_id==6\r\n ms=repelem('.',200);\r\n ms(1)='L';\r\nelseif m_id==8\r\n      ms=[...\r\n'###################################################################################################'\r\n'#.................................................................................................#'\r\n'#.###############################################################################################.#'\r\n'#.#.............................................................................................#.#'\r\n'#.#.###########################################################################################.#.#'\r\n'#.#.#.........................................................................................#.#.#'\r\n'#.#.#.#######################################################################################.#.#.#'\r\n'#.#.#.#.....................................................................................#.#.#.#'\r\n'#.#.#.#.###################################################################################.#.#.#.#'\r\n'#.#.#.#.#.................................................................................#.#.#.#.#'\r\n'#.#.#.#.#.###############################################################################.#.#.#.#.#'\r\n'#.#.#.#.#.#.............................................................................#.#.#.#.#.#'\r\n'#.#.#.#.#.#.###########################################################################.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.........................................................................#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#######################################################################.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.....................................................................#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.###################################################################.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.................................................................#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.###############################################################.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.............................................................#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.###########################################################.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.........................................................#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#######################################################.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.....................................................#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.###################################################.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.................................................#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.###############################################.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................................#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###############################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###############.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#L#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...............#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#############################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#...............................................#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#################################################.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#...................................................#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#####################################################.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.......................................................#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#########################################################.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#...........................................................#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#############################################################.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#...............................................................#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#################################################################.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#...................................................................#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#####################################################################.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.......................................................................#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#########################################################################.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#...........................................................................#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#############################################################################.#.#.#.#.#.#'\r\n'#.#.#.#.#...............................................................................#.#.#.#.#.#'\r\n'#.#.#.#.#################################################################################.#.#.#.#.#'\r\n'#.#.#.#...................................................................................#.#.#.#.#'\r\n'#.#.#.#####################################################################################.#.#.#.#'\r\n'#.#.#.......................................................................................#.#.#.#'\r\n'#.#.#########################################################################################.#.#.#'\r\n'#.#...........................................................................................#.#.#'\r\n'#.#############################################################################################.#.#'\r\n'#...............................................................................................#.#'\r\n'#################################################################################################.#'\r\n'..................................................................................................#'\r\n'###################################################################################################'];\r\nelse\r\n %9: Open square size(50,50) with L at 1,1\r\n ms=repmat('.',50,50);\r\n ms(1)='L'; \r\nend % m+id cases\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nztic=tic;\r\nv = case_solutions(m,m_id);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)\u003e0\r\n  valid=0;\r\n  fprintf('In ICFP %i Failed to Clear - remaining cheesy bits\\n',m_id);\r\nelse\r\n  fprintf('Passed ICFP %i\\n\\n',m_id)\r\nend\r\n\r\nend % for m_id\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-18T18:19:17.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-18T17:00:26.000Z","updated_at":"2024-07-18T18:19:18.000Z","published_at":"2024-07-18T18:16:55.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eSolve these mazes while having a total file size including comments less than 1000.\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[%Descriptions\\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\\n%6: size(1,200) with L at 1,1 199 Rs\\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\\n%9: size(50,50) with L at 1,1]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42778,"title":"GJam March 2016 IOW: Polynesiaglot Medium","description":"This Challenge is derived from GJam March 2016 Annual I/O for Polynesiaglot. This is a subset of small set 2. The max Qraw is 2^50 (\u003c1.1259e15) for C[1,50], V[1,50], L[1,15].\r\nThe GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\r\nInput: [C V L] , C[1,50], V[1,50], 1\u003c=L\u003c=15\r\nOutput: [Q] max Qraw is 2^50 (\u003c1.1259e15); Q=mod(Qraw,1E9+7)\r\nExamples: [C V L] [Q]\r\n[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid are {bbaa, aaab} \r\n[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid are {ab,eb,bb}\r\nGoogle Code Jam 2016 Open Qualifier: April 8, 2016\r\nTheory: This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-1)\r\nQ3    V          C\r\nQ2  V   C       V\r\nQ1 V   V       V\r\n\r\nThis medium challenge has eps(Qraw) \u003c0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 522.625px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 261.312px; transform-origin: 407.5px 261.312px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 21px; text-align: left; transform-origin: 384.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam March 2016 Annual I/O for Polynesiaglot\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. This is a subset of small set 2. The max Qraw is 2^50 (\u0026lt;1.1259e15) for C[1,50], V[1,50], L[1,15].\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: 384.5px 21px; text-align: left; transform-origin: 384.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [C V L] , C[1,50], V[1,50], 1\u0026lt;=L\u0026lt;=15\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [Q] max Qraw is 2^50 (\u0026lt;1.1259e15); Q=mod(Qraw,1E9+7)\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExamples:\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [C V L] [Q]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.875px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 20.4375px; transform-origin: 404.5px 20.4375px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eare {bbaa, aaab} \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eare {ab,eb,bb}\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; \"\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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: 384.5px 42px; text-align: left; transform-origin: 384.5px 42px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-1)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 81.75px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 40.875px; transform-origin: 404.5px 40.875px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ3    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eC\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ2  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eC\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ1 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384.5px 31.5px; text-align: left; transform-origin: 384.5px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis medium challenge has eps(Qraw) \u0026lt;0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function Q=Polyglot(m)\r\n% Q total words of length L using C consonants and V vowels\r\n% Q is modulo 1E9+7\r\n C=m(1); V=m(2);L=m(3); %\r\n Q=0;\r\n\r\nend","test_suite":"%%\r\ntic\r\nm=[2 8 15 ];\r\nv=Polyglot(m);\r\nvexp=[6938704 ];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 7 15 ];\r\nv=Polyglot(m);\r\nvexp=[853390015];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 2 ];\r\nv=Polyglot(m);\r\nvexp=[8];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 3 ];\r\nv=Polyglot(m);\r\nvexp=[24];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 15];\r\nv=Polyglot(m);\r\nvexp=[32342016 ];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 2];\r\nv=Polyglot(m);\r\nvexp=[12];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 3];\r\nv=Polyglot(m);\r\nvexp=[40];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 4];\r\nv=Polyglot(m);\r\nvexp=[176];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[44 2 15];\r\nv=Polyglot(m);\r\nvexp=[916593151];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[1 3 15];\r\nv=Polyglot(m);\r\nvexp=[397629405];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 3 15];\r\nv=Polyglot(m);\r\nvexp=[105078522];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 4 15];\r\nv=Polyglot(m);\r\nvexp=[133836675];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 8 15];\r\nv=Polyglot(m);\r\nvexp=[6938704];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 8 14];\r\nv=Polyglot(m);\r\nvexp=[624439943];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 2];\r\nv=Polyglot(m);\r\nvexp=[5000];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 3];\r\nv=Polyglot(m);\r\nvexp=[375000];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 7];\r\nv=Polyglot(m);\r\nvexp=[249885158];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[10 20 10];\r\nv=Polyglot(m);\r\nvexp=[998720967];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[5 10 13];\r\nv=Polyglot(m);\r\nvexp=[746816099];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[1 1 13 ];\r\nv=Polyglot(m);\r\nvexp=[377 ];\r\nassert(isequal(vexp,v))\r\n\r\n\r\ntoc\r\n","published":true,"deleted":false,"likes_count":10,"comments_count":2,"created_by":3097,"edited_by":7,"edited_at":"2023-07-14T16:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-19T18:33:48.000Z","updated_at":"2025-05-06T02:18:33.000Z","published_at":"2016-03-19T20:24:10.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\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam March 2016 Annual I/O for Polynesiaglot\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. This is a subset of small set 2. The max Qraw is 2^50 (\u0026lt;1.1259e15) for C[1,50], V[1,50], L[1,15].\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 GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\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 [C V L] , C[1,50], V[1,50], 1\u0026lt;=L\u0026lt;=15\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 [Q] max Qraw is 2^50 (\u0026lt;1.1259e15); Q=mod(Qraw,1E9+7)\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [C V L] [Q]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid are {bbaa, aaab} \\n[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid are {ab,eb,bb}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-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[Q3    V          C\\nQ2  V   C       V\\nQ1 V   V       V\\n]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis medium challenge has eps(Qraw) \u0026lt;0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":61048,"title":"Chrono Matrix: Reconstructing the Time Portal","description":"Your time-travel scanner has captured fragments of a portal matrix scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\r\nYou are given a cell array C of equal-sized numeric matrices (e.g., 3×3 or 4×4).\r\nEach cell represents one temporal fragment. Some entries are NaN, indicating lost information.\r\nYour function should:\r\nCombine all matrices into a single matrix of the same size.\r\nFor each element position (i,j):\r\nIgnore NaN values.\r\nTake the average of all non-NaN entries at that position across matrices.\r\nIf all are NaN → output NaN for that position.\r\nRound results to 4 decimal places.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 325.625px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 162.812px; transform-origin: 408px 162.812px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 31.5px; text-align: left; transform-origin: 385px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour time-travel scanner has captured fragments of a \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eportal matrix\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are given a \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecell array \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of equal-sized numeric matrices (e.g., 3×3 or 4×4).\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eEach cell represents one temporal fragment. Some entries are \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNaN\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, indicating lost information.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour function should:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4375px; transform-origin: 392px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCombine all matrices into a single matrix of the same size.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor each element position \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e(i,j)\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003cul style=\"block-size: 61.3125px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 30.65px; transform-origin: 392px 30.6562px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIgnore \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e values.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTake the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eaverage of all non-NaN entries\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at that position across matrices.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eall\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are NaN → output \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for that position.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003col style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2125px; transform-origin: 392px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRound results to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e4 decimal places\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chronoRebuild(C)\r\n  y = x;\r\nend","test_suite":"%%\r\nC = {\r\n    [1 NaN 3;\r\n     2 4 NaN],\r\n    [NaN 2 3;\r\n     2 NaN 6],\r\n    [1 2 NaN;\r\n     NaN 4 6]\r\n    };\r\ny_correct = [1.0000 2.0000 3.0000;2.0000 4.0000 6.0000];\r\nassert(isequal(chronoRebuild(C),y_correct))\r\n\r\n%%\r\nC = {\r\n    [NaN NaN;\r\n     2 4],\r\n    [2 6;\r\n     NaN NaN]\r\n    };\r\ny_correct = [2.0000 6.0000;2.0000 4.0000];\r\nassert(isequal(chronoRebuild(C),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4953963,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-10-23T13:13:25.000Z","updated_at":"2026-03-05T14:00:58.000Z","published_at":"2025-10-23T13:13:25.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\u003eYour time-travel scanner has captured fragments of a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eportal matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\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\u003eYou are given a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecell array \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of equal-sized numeric matrices (e.g., 3×3 or 4×4).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach cell represents one temporal fragment. Some entries are \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, indicating lost 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour function should:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCombine all matrices into a single matrix of the same size.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor each element position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(i,j)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIgnore \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e values.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTake the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eaverage of all non-NaN entries\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e at that position across matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eall\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are NaN → output \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e for that position.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRound results to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e4 decimal places\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42762,"title":"Is 3D point set Co-Planar?","description":"This Challenge is to determine if four 3D integer points are co-planar.\r\nGiven a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\r\n\r\nExamples\r\n\r\n m = [0 0 0;1 0 0;0 1 0;0 0 1] \r\n Output: False, this point set is non-coplanar.\r\n\r\n m = [0 0 0;0 0 1;1 1 0;1 1 1]\r\n Output: True, this point set is co-planar.\r\n\r\nReference: The \u003chttp://68.173.157.131/Contest/Tetrahedra March 2016 Al Zimmermann Non-Coplanar contest\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 solutions.\r\n\r\nTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\r\n","description_html":"\u003cp\u003eThis Challenge is to determine if four 3D integer points are co-planar.\r\nGiven a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\u003c/p\u003e\u003cp\u003eExamples\u003c/p\u003e\u003cpre\u003e m = [0 0 0;1 0 0;0 1 0;0 0 1] \r\n Output: False, this point set is non-coplanar.\u003c/pre\u003e\u003cpre\u003e m = [0 0 0;0 0 1;1 1 0;1 1 1]\r\n Output: True, this point set is co-planar.\u003c/pre\u003e\u003cp\u003eReference: The \u003ca href = \"http://68.173.157.131/Contest/Tetrahedra\"\u003eMarch 2016 Al Zimmermann Non-Coplanar contest\u003c/a\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 solutions.\u003c/p\u003e\u003cp\u003eTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\u003c/p\u003e","function_template":"function TF = iscoplanar(m)\r\n% m is a 4x3 matrix\r\n  TF=false;\r\nend","test_suite":"%%\r\nm=[0 0 1;1 1 0;1 0 1;2 0 0];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 1 2];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;0 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 0 1];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[2 0 0;1 2 0;2 1 1;2 2 2];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[2 0 0;1 2 0;2 1 1;2 1 2];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;0 0 1];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;1 1 1];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;1 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;0 0 1;1 1 1;1 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n\r\n%0 0 0 \r\n%1 0 0 \r\n%0 1 0 \r\n%0 0 1 \r\n%1 1 1","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-05T21:58:07.000Z","updated_at":"2026-04-04T03:46:57.000Z","published_at":"2016-03-06T19:31:31.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to determine if four 3D integer points are co-planar. Given a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples\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[ m = [0 0 0;1 0 0;0 1 0;0 0 1] \\n Output: False, this point set is non-coplanar.\\n\\n m = [0 0 0;0 0 1;1 1 0;1 1 1]\\n Output: True, this point set is co-planar.]]\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\u003eReference: The\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://68.173.157.131/Contest/Tetrahedra\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMarch 2016 Al Zimmermann Non-Coplanar contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\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":47385,"title":"Find Logic 28","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 21\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 22\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 38\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 33\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(6) = 69\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will written 'x' th term of sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 21;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 21;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 22;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 38;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 33;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":200,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T17:21:56.000Z","updated_at":"2026-02-19T09:52:52.000Z","published_at":"2020-11-06T17:21:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 21\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\u003elogic(2) = 25\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\u003elogic(3) = 22\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\u003elogic(4) = 38\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\u003elogic(5) = 33\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\u003elogic(6) = 69\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\u003eMake a function logic(x) which will written 'x' th term of sequence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47275,"title":"Find Logic 12","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 161.714px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 80.8571px; transform-origin: 174px 80.8571px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 31;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":351,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T11:44:39.000Z","updated_at":"2026-02-14T07:03:57.000Z","published_at":"2020-11-04T11:44:39.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 10\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\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":61037,"title":"The MATLAB Treasure Hunt – Locate the Hidden Treasure in the Chamber of Coordinates","description":"Inside the Chamber of Coordinates, glowing runes show several coordinate points on a 2D grid.\r\nThe treasure lies closest to the origin (0,0).\r\nGiven two numeric vectors x and y representing the coordinates of points, return the index of the point nearest to the origin.\r\nIf multiple points are equally close, return the smallest index.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 111px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 55.5px; transform-origin: 408px 55.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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eInside the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eChamber of Coordinates\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, glowing runes show several coordinate points on a 2D grid.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe treasure lies \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eclosest to the origin (0,0)\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two numeric vectors \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ex\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ey\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e representing the coordinates of points, return the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eindex\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of the point nearest to the origin.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf multiple points are equally close, return the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003esmallest index\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = treasureIndex(x,y)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [3 -1 0];\r\ny = [4 2 1];\r\ny_correct = 3;\r\nassert(isequal(treasureIndex(x,y),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4953963,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":64,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-10-21T12:26:21.000Z","updated_at":"2026-03-10T14:21:56.000Z","published_at":"2025-10-21T12:26:21.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\u003eInside the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eChamber of Coordinates\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, glowing runes show several coordinate points on a 2D grid.\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 treasure lies \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eclosest to the origin (0,0)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two numeric vectors \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e representing the coordinates of points, return the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eindex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of the point nearest to the origin.\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\u003eIf multiple points are equally close, return the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esmallest index\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1646,"title":"Kurchan 3x3 - Optimal Score","description":"Find an optimal 3x3 Kurchan square, score of 198. \r\n\r\nA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\r\n\r\nThe Kurchan-value is the Max minus the Minimum of these products.\r\n\r\n*Example: m=[5 1 8;3 9 4;7 2 6]*\r\n\r\nRow Products: 40,108, and 84. Column products 105, 18, and 192.\r\n\r\nDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\r\n\r\nAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\r\n\r\nK is thus 504-18 = 486. [ Max of all products - Min of all products ]\r\n\r\n*Input:* None\r\n\r\n*Output:* Kurchan Square [3x3] that scores 198\r\n\r\nI expect someone to give a min size hardcoded solution at some point.\r\n\r\nRelated Challenges:\r\n\r\n1) \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1634-kurchan-square-evaluation-function Kurchan Square Evaluation\u003e\r\n\r\n2) Minimize Kurchan Squares (N=4:9)\r\n\r\n3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\r\n\r\n4) Maximize Sum of Products (N=4:9) and a Large number Challenge\r\n\r\n5) Minimize Sum of Products (N=4:9) and a Large number Challenge","description_html":"\u003cp\u003eFind an optimal 3x3 Kurchan square, score of 198.\u003c/p\u003e\u003cp\u003eA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\u003c/p\u003e\u003cp\u003eThe Kurchan-value is the Max minus the Minimum of these products.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample: m=[5 1 8;3 9 4;7 2 6]\u003c/b\u003e\u003c/p\u003e\u003cp\u003eRow Products: 40,108, and 84. Column products 105, 18, and 192.\u003c/p\u003e\u003cp\u003eDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\u003c/p\u003e\u003cp\u003eAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\u003c/p\u003e\u003cp\u003eK is thus 504-18 = 486. [ Max of all products - Min of all products ]\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e None\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Kurchan Square [3x3] that scores 198\u003c/p\u003e\u003cp\u003eI expect someone to give a min size hardcoded solution at some point.\u003c/p\u003e\u003cp\u003eRelated Challenges:\u003c/p\u003e\u003cp\u003e1) \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1634-kurchan-square-evaluation-function\"\u003eKurchan Square Evaluation\u003c/a\u003e\u003c/p\u003e\u003cp\u003e2) Minimize Kurchan Squares (N=4:9)\u003c/p\u003e\u003cp\u003e3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\u003c/p\u003e\u003cp\u003e4) Maximize Sum of Products (N=4:9) and a Large number Challenge\u003c/p\u003e\u003cp\u003e5) Minimize Sum of Products (N=4:9) and a Large number Challenge\u003c/p\u003e","function_template":"function m = kurchan_3x3\r\n  m=zeros(3);\r\nend","test_suite":"%%\r\ntic\r\nm = kurchan_3x3\r\ntoc\r\n p=[1     4     7\r\n     2     5     8\r\n     3     6     9\r\n     1     2     3\r\n     4     5     6\r\n     7     8     9\r\n     1     5     9\r\n     4     8     3\r\n     7     2     6\r\n     7     5     3\r\n     8     6     1\r\n     9     4     2];\r\nassert(isequal((1:9)',unique(m(:)))) % check use 1 thru 9\r\nmp=prod(m(p),2);\r\nK=max(mp)-min(mp) % display K score\r\n\r\n% simplified Kurchan scoring for 3x3\r\n\r\nassert(K\u003c=198)  % Pretty certain 198 is best possible, allow better score\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":30,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-06-13T04:20:37.000Z","updated_at":"2025-11-27T17:20:36.000Z","published_at":"2013-06-13T05:10:56.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 an optimal 3x3 Kurchan square, score of 198.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\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 Kurchan-value is the Max minus the Minimum of these products.\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: m=[5 1 8;3 9 4;7 2 6]\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\u003eRow Products: 40,108, and 84. Column products 105, 18, and 192.\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\u003eDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\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\u003eAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\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\u003eK is thus 504-18 = 486. [ Max of all products - Min of all products ]\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 None\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 Kurchan Square [3x3] that scores 198\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\u003eI expect someone to give a min size hardcoded solution at some point.\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\u003eRelated Challenges:\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\u003e1)\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/cody/problems/1634-kurchan-square-evaluation-function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eKurchan Square Evaluation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003e2) Minimize Kurchan Squares (N=4:9)\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\u003e3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\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\u003e4) Maximize Sum of Products (N=4:9) and a Large number Challenge\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\u003e5) Minimize Sum of Products (N=4:9) and a Large number Challenge\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":47320,"title":"Find Logic 17","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 11\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a Function logic(a,b) which will return value according to problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 3;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 5;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 3;\r\ny_correct = 11;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 5;\r\ny_correct = 23;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":7,"comments_count":2,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":457,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T15:48:34.000Z","updated_at":"2026-02-14T06:58:04.000Z","published_at":"2020-11-05T15:48:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 3\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\u003elogic(1,2) = 5\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\u003elogic(2,1) = 5\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\u003elogic(2,2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,3) = 7\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\u003elogic(2,3) = 11\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\u003elogic(1,4) = 9\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\u003eMake a Function logic(a,b) which will return value according to problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47270,"title":"Find Logic 11","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 5;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 21;\r\nassert(isequal(logic(x), y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":369,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T09:41:45.000Z","updated_at":"2026-02-14T07:04:51.000Z","published_at":"2020-11-04T09:41:45.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 2\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\u003elogic(3) = 3\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\u003elogic(4) = 5\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\u003elogic(5) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47260,"title":"Find Logic 9","description":"Guess the Logic!\r\nlogic(1) = 4\r\nlogic(2) = 1\r\nlogic(3) = 10\r\nlogic(4) = 2","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: 141px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 70.5px; transform-origin: 407px 70.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: 54px 8px; transform-origin: 54px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 4\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.5px 8px; transform-origin: 39.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 4;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 6;\r\nassert(isequal(logic(x),3))\r\n\r\n%%\r\nx = randi(100);\r\nx = x+rem(x,2);\r\nassert(isequal(logic(x),x*sind(30)))\r\n\r\n%%\r\nx = randi(100);\r\nx = x+2*rem(x,2);\r\nassert(isequal(logic(x),3*x+1))\r\n\r\n%%\r\ny = setdiff(primes(1e5),primes(1e3));\r\nix = randi(numel(y));\r\nz = y(ix);\r\nassert(isequal(logic(z),z+z+z+rem(z,2)))","published":true,"deleted":false,"likes_count":5,"comments_count":3,"created_by":293792,"edited_by":223089,"edited_at":"2023-02-03T17:48:22.000Z","deleted_by":null,"deleted_at":null,"solvers_count":321,"test_suite_updated_at":"2023-02-03T17:48:22.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T08:19:24.000Z","updated_at":"2026-02-14T07:10:52.000Z","published_at":"2020-11-04T08:19:24.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\u003eGuess the Logic!\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\u003elogic(1) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 10\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\u003elogic(4) = 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47209,"title":"Find Logic 1","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake correct function by Finding logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value equal to logic(x)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = logic(x-1) + 1\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 17\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":437,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:42:20.000Z","updated_at":"2026-03-05T14:52:10.000Z","published_at":"2020-11-03T11:42:20.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake correct function by Finding logic\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\u003elogic(1) = 2\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\u003elogic(2) = 3\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\u003elogic(3) = 5\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\u003elogic(4) = 9\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\u003eMake a function logic(x) which will return value equal to logic(x)\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":1506,"title":"Maximum Intra-Vector Swaps","description":"This Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\r\n\r\nThe processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\r\n\r\n*Example Sequences:* \r\n\r\n  [3 1 2], [2 1 3], [1 2 3] Score 2\r\n  [3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 5]\r\n\r\n\r\n*Input:* n  (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31) \r\n\r\n*Output:* Vector of values 1:n\r\n\r\nExample:\r\n\r\nInput: 5  Output: [3 1 4 5 2]  \r\n\r\nScore: 7  \r\n\r\nA minimum cumulative score of 531 for the 17 cases is required to Pass.\r\n\r\nFinal Score = 2531 - sum(scores)\r\n\r\n*Hints:*\r\n\r\nUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u003e9.\r\n\r\nRequest: If Code is implemented external then please post as a block comment.\r\n\r\nFaster Code Block than fliplr:\r\n\r\n  function count=process_seq(seq)\r\n   count=0;\r\n   while seq(1)\u003e1\r\n    count=count+1;\r\n    seq(1:seq(1))=seq(seq(1):-1:1);\r\n   end\r\n  end","description_html":"\u003cp\u003eThis Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\u003c/p\u003e\u003cp\u003eThe processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample Sequences:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[3 1 2], [2 1 3], [1 2 3] Score 2\r\n[3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 5]\r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e n  (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Vector of values 1:n\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eInput: 5  Output: [3 1 4 5 2]\u003c/p\u003e\u003cp\u003eScore: 7\u003c/p\u003e\u003cp\u003eA minimum cumulative score of 531 for the 17 cases is required to Pass.\u003c/p\u003e\u003cp\u003eFinal Score = 2531 - sum(scores)\u003c/p\u003e\u003cp\u003e\u003cb\u003eHints:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u003e9.\u003c/p\u003e\u003cp\u003eRequest: If Code is implemented external then please post as a block comment.\u003c/p\u003e\u003cp\u003eFaster Code Block than fliplr:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efunction count=process_seq(seq)\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nend\r\n\u003c/pre\u003e","function_template":"function max_seq=find_max_swap_seq(n)\r\n max_seq=1:n;\r\n count=process_seq(max_seq);\r\nend\r\n\r\n% Suggested function for sequence performance evaluation\r\nfunction count=process_seq(seq)\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nend","test_suite":"tic\r\nfeval(@assignin,'caller','score',2000);\r\n%%\r\n% 2 1\r\nglobal cseq\r\ncseq{1}=1; % Gift answer\r\nmax_seq=find_max_swap_seq(2);\r\nassert(isequal(1:2,unique(max_seq)))\r\ncseq{2}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 3 2\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(3);\r\nassert(isequal(1:3,unique(max_seq)))\r\ncseq{3}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 4 4\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(4);\r\nassert(isequal(1:4,unique(max_seq)))\r\ncseq{4}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 5 7\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(5);\r\nassert(isequal(1:5,unique(max_seq)))\r\ncseq{5}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 6 10\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(6);\r\nassert(isequal(1:6,unique(max_seq)))\r\ncseq{6}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 7 16\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(7);\r\nassert(isequal(1:7,unique(max_seq)))\r\ncseq{7}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 8 22\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(8);\r\nassert(isequal(1:8,unique(max_seq)))\r\ncseq{8}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n% 9 30\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(9);\r\nassert(isequal(1:9,unique(max_seq)))\r\ncseq{9}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%10 38\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(10);\r\nassert(isequal(1:10,unique(max_seq)))\r\ncseq{10}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%11 51\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(11);\r\nassert(isequal(1:11,unique(max_seq)))\r\ncseq{11}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%13 80 case 12\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(13);\r\nassert(isequal(1:13,unique(max_seq)))\r\ncseq{12}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%17 159 case 13\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(17);\r\nassert(isequal(1:17,unique(max_seq)))\r\ncseq{13}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%19 221 case 14\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(19);\r\nassert(isequal(1:19,unique(max_seq)))\r\ncseq{14}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%23 382 case 15\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(23);\r\nassert(isequal(1:23,unique(max_seq)))\r\ncseq{15}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%29 689 case 16\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(29);\r\nassert(isequal(1:29,unique(max_seq)))\r\ncseq{16}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\n%%\r\n%31 819 case 17\r\nglobal cseq\r\nmax_seq=find_max_swap_seq(31);\r\nassert(isequal(1:31,unique(max_seq)))\r\ncseq{17}=max_seq;\r\n seq=max_seq;\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\nfprintf('count %i\\n',count)\r\nfprintf('%i ',max_seq)\r\nfprintf('\\n')\r\ntoc\r\n%%\r\nglobal cseq\r\ntotal=0;\r\nfor i=2:17\r\n seq=cseq{i};\r\n count=0;\r\n while seq(1)\u003e1\r\n  count=count+1;\r\n  seq(1:seq(1))=seq(seq(1):-1:1);\r\n end\r\n total=total+count;\r\nend\r\n\r\n% 2531 is optimal sum\r\ntotal=sum([0 1 2 4 7 10 16 22 30 38 51 80 159 221 382 689 819])-total;\r\nassert(total\u003c2001); % Minimum performance requirement\r\n\r\ntoc\r\nfeval(@assignin,'caller','score',min(2000,total));\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-05-13T01:28:12.000Z","updated_at":"2026-04-01T14:34:03.000Z","published_at":"2013-05-13T04:01:26.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge, based upon a contest in which Rokicki came in 2nd, is to find sequences containing 1:N that require maximum iterations prior to the value 1 appearing in the first position.\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 processing rule is that positions 1 thru Vector(1) are swapped. Processing stops when Vector(1) is 1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample Sequences:\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[[3 1 2], [2 1 3], [1 2 3] Score 2\\n[3 1 4 5 2][4 1 3 5 2][5 3 1 4 2][2 4 1 3 5][4 2 1 3 5][3 1 2 4 5][2 1 3 4 5][1 2 3 4 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\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e n (Integer from 1 to 31) (16 Actual Cases 2:11 13 17 19 23 29 31)\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 Vector of values 1:n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput: 5 Output: [3 1 4 5 2]\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\u003eScore: 7\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA minimum cumulative score of 531 for the 17 cases is required to Pass.\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\u003eFinal Score = 2531 - sum(scores)\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\u003eHints:\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\u003eUsage of perms for 10 or higher may cause Cody Memory/Time issues. Random subsets are suggested for n\u0026gt;9.\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\u003eRequest: If Code is implemented external then please post as a block comment.\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\u003eFaster Code Block than fliplr:\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[function count=process_seq(seq)\\n count=0;\\n while seq(1)\u003e1\\n  count=count+1;\\n  seq(1:seq(1))=seq(seq(1):-1:1);\\n end\\nend]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":47290,"title":"Add 2 Vectors","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 182.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 91.3333px; transform-origin: 174px 91.3333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function add(A,B)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 62.8571px; 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: 151px 31.4286px; text-align: left; transform-origin: 151px 31.4286px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003esuch that  C = add(A,B) will return a third vector C where each term of C is equal to addition of term equivalent to A and B\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eex- A = [1 2 3]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eB = [2 6 7]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ethen, C = [3 8 10]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function C = add(A,B)\r\n  C = A*B';\r\nend","test_suite":"%%\r\nA = [1 2 4 3];\r\nB = [3 1 3 1];\r\nC_correct = [4 3 7 4];\r\nassert(isequal(add(A,B),C_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":142,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T06:27:07.000Z","updated_at":"2026-02-24T06:03:28.000Z","published_at":"2020-11-05T06:27:07.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function add(A,B)\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\u003esuch that  C = add(A,B) will return a third vector C where each term of C is equal to addition of term equivalent to A and B\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\u003eex- A = [1 2 3]\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\u003eB = [2 6 7]\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\u003ethen, C = [3 8 10]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47285,"title":"10% Discount","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 71.8571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 35.9286px; transform-origin: 174px 35.9286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCalculate the amount that customer will pay for a software. There is 10% discount in MRP.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction Price(M) will return M - discount\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = Price(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 100;\r\ny_correct = 90;\r\nassert(isequal(Price(x),y_correct))\r\n\r\n%%\r\nx = 150;\r\ny_correct = 135;\r\nassert(isequal(Price(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":83,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T04:55:40.000Z","updated_at":"2026-02-06T16:06:37.000Z","published_at":"2020-11-05T04:55:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate the amount that customer will pay for a software. There is 10% discount in MRP.\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\u003eFunction Price(M) will return M - discount\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60511,"title":"ICFP 2024 Programming Contest June 28 thru July 1 ","description":"This is to announce the annual ICFP programming contest for 2024.\r\nThe ICFP 2024 homepage link is  ICFP 2024 . Registration will be required to view datasets and compete.\r\nThis contest allows Matlab and any other language.\r\nIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\r\nApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\r\nThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\r\n\r\nThis challenge is to return the string \"ICFP:Matlab for the Win 2024\" ","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: 231px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 115.5px; transform-origin: 407px 115.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: 214px 8px; transform-origin: 214px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis is to announce the annual ICFP programming contest for 2024.\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: 107px 8px; transform-origin: 107px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP 2024 homepage link is  \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP 2024\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: 191px 8px; transform-origin: 191px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e . Registration will be required to view datasets and compete.\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: 162px 8px; transform-origin: 162px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis contest allows Matlab and any other language.\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: 296px 8px; transform-origin: 296px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\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: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\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: 311.5px 8px; transform-origin: 311.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 215.5px 8px; transform-origin: 215.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return the string \"ICFP:Matlab for the Win 2024\" \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function ICFP_str = ICFP_2024(x)\r\n % ICFP_str='ICFP:Matlab for the Win 2024';\r\nend","test_suite":"%%\r\nassert(isequal(ICFP_2024,'ICFP:Matlab for the Win 2024'))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2024-06-10T17:39:00.000Z","deleted_by":null,"deleted_at":null,"solvers_count":50,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-10T17:34:19.000Z","updated_at":"2026-02-27T22:19:02.000Z","published_at":"2024-06-10T17:39:00.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is to announce the annual ICFP programming contest for 2024.\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 ICFP 2024 homepage link is  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP 2024\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e . Registration will be required to view datasets and compete.\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 contest allows Matlab and any other language.\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\u003eIt is very entertaining as the complexity changes for the three stages, Day-1, Day-2, and Final.\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\u003eApprox 30 datasets are initially given but will increase to 60 then 80 for the later stages with small changes to the problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dataset and submission files are in JSON so I will likely post a JSON submission matlab routine.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return the string \\\"ICFP:Matlab for the Win 2024\\\" \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47280,"title":"Find Sum of array","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 80.8571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 40.4286px; transform-origin: 174px 40.4286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCalculate Sum of all elements of an array.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA = [1 3 4 6]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ecalculate_sum(A) = 14\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = calculate_sum(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(calculate_sum(x),y_correct))\r\n\r\n%%\r\nx = [1 2 5 9 4];\r\ny_correct = 21;\r\nassert(isequal(calculate_sum(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":86,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T18:17:30.000Z","updated_at":"2026-02-05T20:53:16.000Z","published_at":"2020-11-04T18:17:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate Sum of all elements of an array.\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\u003eA = [1 3 4 6]\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\u003ecalculate_sum(A) = 14\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47214,"title":"Find Logic 2","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function by finding logic from this problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 17\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf you got the logic Make a function logic(x) which will return value equivalent to 'x' th term.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 50;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx=9;\r\ny_correct = 82;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":78,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:55:18.000Z","updated_at":"2026-02-16T12:00:42.000Z","published_at":"2020-11-03T11:55:18.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function by finding logic from this problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 2\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\u003elogic(2) = 5\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\u003elogic(3) = 10\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\u003elogic(4) = 17\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\u003eIf you got the logic Make a function logic(x) which will return value equivalent to 'x' th term.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60591,"title":"ICFP2024 001: Lambdaman 6","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\r\nThis maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB. SF B$ B$ L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\" Sl I#,\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\r\nB. S3/,6%},!-\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\r\n\r\nThis challenge is to return a string of 199 'R's with minimal matlab program size.\r\n\r\nAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.","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: 537px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 268.5px; transform-origin: 407px 268.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 365px 8px; transform-origin: 365px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\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: 301px 8px; transform-origin: 301px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \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: 331px 8px; transform-origin: 331px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \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: 331px 8px; transform-origin: 331px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. SF B$ B$ L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\" Sl I#,\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 294px 8px; transform-origin: 294px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\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: 235.5px 8px; transform-origin: 235.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. S3/,6%},!-\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 250px 8px; transform-origin: 250px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of 199 'R's with minimal matlab program size.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman6(m)\r\n% m is a maze where '.' is a power-dot to eat, L is Lambdaman the token being moved, \r\n% '#' is a wall, and Linefeed(ascii 10) is right edge of maze\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman6 is a string of 199 R characters, char(82*ones(1,199))\r\n v='R';\r\nend\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}","test_suite":"%%\r\nm=['L' char(46*ones(1,199))]; % 46 is .\r\nv = Lambdaman6(m)\r\nvd=double(v); % keep only L-76 R-82\r\nvd(vd\u003e82)='';vd(vd\u003c76)=''; vd(vd\u003e76 \u0026 vd\u003c82)=''; % Remove non-operable characters\r\nvalid=0;\r\nidx=1;\r\nmc=[0 ones(1,199)];\r\nfor i=1:length(vd)\r\n if vd(i)==82 % R\r\n  idx=idx+1;\r\n  mc(idx)=0;\r\n  if idx==200,break;end\r\n else % must be 76 L\r\n  if idx\u003e1\r\n   idx=idx-1;\r\n   mc(idx)=0;\r\n  end\r\n end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nend\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-09T15:15:26.000Z","deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-09T13:32:16.000Z","updated_at":"2026-03-31T11:17:56.000Z","published_at":"2024-07-09T15:15:26.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 6 maze is a single row of width 200 with L at index 1. Columns 2 thru 200 contain '.' a power-dot or piece-of-cheese depending Pacman or Mouse preference.\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 maze is a string 'L....... (many dots) .....' of length 200. Future mazes will be 2D of integers. \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman,onto every dot.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB. SF B$ B$ L\\\" B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L$ L# ? B= v# I\\\" v\\\" B. v\\\" B$ v$ B- v# I\\\" Sl I#,\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman6 solution was written in ICFP to reduce length versus 199 Rs.\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\u003eB. S3/,6%},!-\\\"$!-!.[} B$ L# B$ v# B$ v# B$ v# SLLLLLLLL L$ B. B. v$ v$ v$\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of 199 'R's with minimal matlab program size.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47234,"title":"Find Logic 4","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function by finding logic from this problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 20\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic and make function logic(x) which will return 'x' th term of series\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 20;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 56;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":499,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T13:56:59.000Z","updated_at":"2026-02-27T08:11:55.000Z","published_at":"2020-11-03T13:56:59.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function by finding logic from this problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 2\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\u003elogic(2) = 6\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\u003elogic(3) = 12\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\u003elogic(4) = 20\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\u003eGuess the logic and make function logic(x) which will return 'x' th term of series\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60608,"title":"ICFP2024 006: Lambda 21 - 3D","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\" B/ v# I% BT I\" BD B% v# I% Sl~aF   in this language F=\u003eL, l=\u003e., ~=\u003eLineFeed, a=\u003e#, IR means Integer 49, IS is 50\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\r\nB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\" BD B% vp I% SO\u003eLF\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\n Lambdaman21 was solved by Thirteen Team using tools. ThirteenTeam youtube ICFP2024\r\nThis challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.","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: 607px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 303.5px; transform-origin: 407px 303.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 338.5px 8px; transform-origin: 338.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 206.5px 8px; transform-origin: 206.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\" B/ v# I% BT I\" BD B% v# I% Sl~aF   in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, a=\u0026gt;#, IR means Integer 49, IS is 50\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 366px 8px; transform-origin: 366px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\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: 360px 8px; transform-origin: 360px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\" BD B% vp I% SO\u0026gt;LF\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 100px; 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 50px; text-align: left; transform-origin: 384px 50px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 100px;height: 100px\" src=\"data:image/gif;base64,R0lGODlhyADIAOetAAAAAA0NDRYWFhwcHCIiIiYmJioqKi4uLjIyMjU1NTg4ODs7Oz09PUBAQEJCQkVFRUdHR0lJSUtLS01NTU9PT1FRUVNTU1VVVVZWVlhYWFpaWlxcXF1dXV9fX2BgYGJiYmNjY2VlZWZmZmhoaGlpaWpqamxsbG1tbW5ubnBwcHFxcXJycnNzc3V1dXZ2dnd3d3h4eHl5eXp6enx8fH19fX9/f4CAgIGBgYKCgoODg4WFhYaGhoeHh4iIiIqKioyMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6ampqenp6ioqKmpqaqqqqurq6ysrK2tra+vr7CwsLGxsbKysrOzs7S0tLW1tba2tri4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2Nra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAADIAMgAAAj+AFsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWr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\" data-image-state=\"image-loaded\" width=\"100\" height=\"100\"\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: 182.5px 8px; transform-origin: 182.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Lambdaman21 was solved by Thirteen Team using tools. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=Xcm3S9VlqqY\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eThirteenTeam youtube ICFP2024\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v=Lambdaman21(m)\r\n%Manual sequence created using a display like ThirteenTeam\r\n%Draw paths from Top edge, right edge and left edge\r\n U='U';D='D';L='L';R='R';\r\n U2=repelem(U,199);\r\n D2=repelem(D,199);\r\n L2=repelem(L,199);\r\n R2=repelem(R,199);\r\n DUR=[D2 U2 R]; % Top edge\r\n LRD=[L2 R2 D]; % Right edge\r\n RLU=[R2 L2 U]; % Left edge Up\r\n RLD=[R2 L2 D]; % Left edge Down\r\n D95=repelem(D,95);\r\n D37=repelem(D,37);\r\n L100=repelem(L,100);\r\n U136=repelem(U,136);\r\n R15=repelem(R,15);\r\n R12=repelem(R,12);\r\n \r\n TE=repmat(DUR,1,200);\r\n RE=[D95 L2 D2 repmat(RLU,1,80) D37 R2 D repmat(LRD,1,104)];\r\n BE=[L100 U136 repmat(LRD,1,85) D D L2];\r\n LE=[repmat(RLU,1,90) D R15 repmat(DUR,1,21) repmat(RLD,1,5)];\r\n B3=[D37 D D R12 repmat(DUR,1,15) D37 repmat(RLU,1,6) ];\r\n v=[U2 L2 TE RE BE LE B3];\r\nend % Lambdaman21","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\nms=['........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'.................................##################.....................................................................................................................................................'\r\n'...........................#############################................................................................................................................................................'\r\n'.....................######################################............................................#########################################........................................................'\r\n'.................#############################################.........................................################################################.................................................'\r\n'...............################################################........................................####################################################.............................................'\r\n'...............##################################################......................................########################################################.........................................'\r\n'...............####################################################....................................###########################################################......................................'\r\n'...............#####################################################...................................#############################################################....................................'\r\n'...............######################################################..................................###############################################################..................................'\r\n'...............#######################################################.................................#################################################################................................'\r\n'...............########################################################................................###################################################################..............................'\r\n'...............####################............#########################...............................####################################################################.............................'\r\n'...............##############.......................####################...............................#####################################################################............................'\r\n'...............##########.............................###################..............................##############........................#################################..........................'\r\n'...............######...................................##################.............................##############...............................###########################.........................'\r\n'...............###.......................................#################.............................##############...................................########################........................'\r\n'..........................................................#################............................##############.....................................#######################.......................'\r\n'...........................................................################............................##############........................................#####################......................'\r\n'............................................................###############............................##############..........................................####################.....................'\r\n'.............................................................###############...........................##############...........................................###################.....................'\r\n'.............................................................###############...........................##############.............................................##################....................'\r\n'..............................................................##############...........................##############..............................................##################...................'\r\n'..............................................................##############...........................##############...............................................#################...................'\r\n'..............................................................##############...........................##############................................................#################..................'\r\n'..............................................................##############...........................##############.................................................################..................'\r\n'...............................................................#############...........................##############..................................................################.................'\r\n'...............................................................#############L..........................##############..................................................################.................'\r\n'...............................................................#############...........................##############...................................................################................'\r\n'...............................................................#############...........................##############...................................................################................'\r\n'...............................................................#############...........................##############....................................................################...............'\r\n'...............................................................#############...........................##############....................................................################...............'\r\n'..............................................................##############...........................##############.....................................................###############...............'\r\n'..............................................................##############...........................##############.....................................................################..............'\r\n'..............................................................##############...........................##############......................................................###############..............'\r\n'.............................................................##############............................##############......................................................###############..............'\r\n'.............................................................##############............................##############......................................................###############..............'\r\n'............................................................##############.............................##############.......................................................###############.............'\r\n'............................................................##############.............................##############.......................................................###############.............'\r\n'...........................................................##############..............................##############.......................................................###############.............'\r\n'..........................................................###############..............................##############.......................................................###############.............'\r\n'........................................................################...............................##############........................................................##############.............'\r\n'.......................................................################................................##############........................................................###############............'\r\n'....................................................##################.................................##############........................................................###############............'\r\n'................................................#####################..................................##############........................................................###############............'\r\n'..............................######################################...................................##############........................................................###############............'\r\n'..............................#####################################....................................##############........................................................###############............'\r\n'..............................###################################......................................##############........................................................###############............'\r\n'..............................#################################........................................##############........................................................###############............'\r\n'..............................##############################...........................................##############........................................................###############............'\r\n'..............................##############################...........................................##############.........................................................##############............'\r\n'..............................#################################........................................##############...................................................................................'\r\n'..............................####################################.....................................##############.........................................................##############............'\r\n'..............................#####################################....................................##############.........................................................##############............'\r\n'..............................#######################################..................................##############.........................................................##############............'\r\n'..............................########################################.................................##############.........................................................##############............'\r\n'...............................................########################................................##############.........................................................##############............'\r\n'....................................................####################...............................##############........................................................###############............'\r\n'......................................................###################..............................##############........................................................###############............'\r\n'........................................................##################.............................##############........................................................###############............'\r\n'..........................................................#################............................##############........................................................###############............'\r\n'...........................................................################............................##############........................................................###############............'\r\n'............................................................################...........................##############........................................................###############............'\r\n'.............................................................###############...........................##############........................................................###############............'\r\n'..............................................................###############..........................##############........................................................###############............'\r\n'...............................................................##############..........................##############........................................................##############.............'\r\n'...............................................................###############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'................................................................##############.........................##############.......................................................###############.............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############......................................................###############..............'\r\n'.................................................................##############........................##############.....................................................################..............'\r\n'.................................................................##############........................##############.....................................................###############...............'\r\n'.................................................................##############........................##############....................................................################...............'\r\n'.................................................................##############........................##############....................................................################...............'\r\n'.................................................................##############........................##############...................................................################................'\r\n'.................................................................##############........................##############...................................................################................'\r\n'.................................................................##############........................##############..................................................################.................'\r\n'................................................................##############.........................##############..................................................################.................'\r\n'................................................................##############.........................##############.................................................################..................'\r\n'................................................................##############.........................##############................................................#################..................'\r\n'...............................................................###############.........................##############...............................................#################...................'\r\n'...............................................................###############.........................##############..............................................##################...................'\r\n'..............................................................###############..........................##############.............................................##################....................'\r\n'..............................................................###############..........................##############...........................................###################.....................'\r\n'.............................................................################..........................##############..........................................###################......................'\r\n'............##..............................................################...........................##############........................................#####################......................'\r\n'............###............................................#################...........................##############.....................................#######################.......................'\r\n'............######.......................................##################............................##############...................................########################........................'\r\n'............########....................................##################.............................##############...............................###########################.........................'\r\n'............###########...............................####################.............................##############........................#################################..........................'\r\n'............###############........................######################..............................#####################################################################............................'\r\n'............#####################............###########################...............................####################################################################.............................'\r\n'............###########################################################................................##################################################################...............................'\r\n'............##########################################################.................................#################################################################................................'\r\n'............#########################################################..................................###############################################################..................................'\r\n'............########################################################...................................#############################################################....................................'\r\n'............######################################################.....................................##########################################################.......................................'\r\n'............#####################################################......................................########################################################.........................................'\r\n'..............#################################################........................................####################################################.............................................'\r\n'.................############################################..........................................################################################.................................................'\r\n'....................######################################.............................................#########################################........................................................'\r\n'.........................#############################..................................................................................................................................................'\r\n'..............................###################.......................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'\r\n'........................................................................................................................................................................................................'];\r\n\r\nsize(ms)\r\n\r\n[nr,nc]=size(ms);\r\nm=ones(nr,nc)*2; %Cheese bits are 2.\r\nm(ms=='#')=0; % Wall\r\nm(ms=='L')=1; % Landaman, start point\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nv = Lambdaman21(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\nr=1;c=1;  % Limit is 50,50 for Lambdaman10 starts at (1,1)\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\nadd 45 rows above\r\n.................................##################.....................................................................................................................................................\r\n...........................#############################................................................................................................................................................\r\n.....................######################################............................................#########################################........................................................\r\n.................#############################################.........................................################################################.................................................\r\n...............################################################........................................####################################################.............................................\r\n...............##################################################......................................########################################################.........................................\r\n...............####################################################....................................###########################################################......................................\r\n...............#####################################################...................................#############################################################....................................\r\n...............######################################################..................................###############################################################..................................\r\n...............#######################################################.................................#################################################################................................\r\n...............########################################################................................###################################################################..............................\r\n...............####################............#########################...............................####################################################################.............................\r\n...............##############.......................####################...............................#####################################################################............................\r\n...............##########.............................###################..............................##############........................#################################..........................\r\n...............######...................................##################.............................##############...............................###########################.........................\r\n...............###.......................................#################.............................##############...................................########################........................\r\n..........................................................#################............................##############.....................................#######################.......................\r\n...........................................................################............................##############........................................#####################......................\r\n............................................................###############............................##############..........................................####################.....................\r\n.............................................................###############...........................##############...........................................###################.....................\r\n.............................................................###############...........................##############.............................................##################....................\r\n..............................................................##############...........................##############..............................................##################...................\r\n..............................................................##############...........................##############...............................................#################...................\r\n..............................................................##############...........................##############................................................#################..................\r\n..............................................................##############...........................##############.................................................################..................\r\n...............................................................#############...........................##############..................................................################.................\r\n...............................................................#############L..........................##############..................................................################.................\r\n...............................................................#############...........................##############...................................................################................\r\n...............................................................#############...........................##############...................................................################................\r\n...............................................................#############...........................##############....................................................################...............\r\n...............................................................#############...........................##############....................................................################...............\r\n..............................................................##############...........................##############.....................................................###############...............\r\n..............................................................##############...........................##############.....................................................################..............\r\n..............................................................##############...........................##############......................................................###############..............\r\n.............................................................##############............................##############......................................................###############..............\r\n.............................................................##############............................##############......................................................###############..............\r\n............................................................##############.............................##############.......................................................###############.............\r\n............................................................##############.............................##############.......................................................###############.............\r\n...........................................................##############..............................##############.......................................................###############.............\r\n..........................................................###############..............................##############.......................................................###############.............\r\n........................................................################...............................##############........................................................##############.............\r\n.......................................................################................................##############........................................................###############............\r\n....................................................##################.................................##############........................................................###############............\r\n................................................#####################..................................##############........................................................###############............\r\n..............................######################################...................................##############........................................................###############............\r\n..............................#####################################....................................##############........................................................###############............\r\n..............................###################################......................................##############........................................................###############............\r\n..............................#################################........................................##############........................................................###############............\r\n..............................##############################...........................................##############........................................................###############............\r\n..............................##############################...........................................##############.........................................................##############............\r\n..............................#################################........................................##############...................................................................................\r\n..............................####################################.....................................##############.........................................................##############............\r\n..............................#####################################....................................##############.........................................................##############............\r\n..............................#######################################..................................##############.........................................................##############............\r\n..............................########################################.................................##############.........................................................##############............\r\n...............................................########################................................##############.........................................................##############............\r\n....................................................####################...............................##############........................................................###############............\r\n......................................................###################..............................##############........................................................###############............\r\n........................................................##################.............................##############........................................................###############............\r\n..........................................................#################............................##############........................................................###############............\r\n...........................................................################............................##############........................................................###############............\r\n............................................................################...........................##############........................................................###############............\r\n.............................................................###############...........................##############........................................................###############............\r\n..............................................................###############..........................##############........................................................###############............\r\n...............................................................##############..........................##############........................................................##############.............\r\n...............................................................###############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n................................................................##############.........................##############.......................................................###############.............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############......................................................###############..............\r\n.................................................................##############........................##############.....................................................################..............\r\n.................................................................##############........................##############.....................................................###############...............\r\n.................................................................##############........................##############....................................................################...............\r\n.................................................................##############........................##############....................................................################...............\r\n.................................................................##############........................##############...................................................################................\r\n.................................................................##############........................##############...................................................################................\r\n.................................................................##############........................##############..................................................################.................\r\n................................................................##############.........................##############..................................................################.................\r\n................................................................##############.........................##############.................................................################..................\r\n................................................................##############.........................##############................................................#################..................\r\n...............................................................###############.........................##############...............................................#################...................\r\n...............................................................###############.........................##############..............................................##################...................\r\n..............................................................###############..........................##############.............................................##################....................\r\n..............................................................###############..........................##############...........................................###################.....................\r\n.............................................................################..........................##############..........................................###################......................\r\n............##..............................................################...........................##############........................................#####################......................\r\n............###............................................#################...........................##############.....................................#######################.......................\r\n............######.......................................##################............................##############...................................########################........................\r\n............########....................................##################.............................##############...............................###########################.........................\r\n............###########...............................####################.............................##############........................#################################..........................\r\n............###############........................######################..............................#####################################################################............................\r\n............#####################............###########################...............................####################################################################.............................\r\n............###########################################################................................##################################################################...............................\r\n............##########################################################.................................#################################################################................................\r\n............#########################################################..................................###############################################################..................................\r\n............########################################################...................................#############################################################....................................\r\n............######################################################.....................................##########################################################.......................................\r\n............#####################################################......................................########################################################.........................................\r\n..............#################################################........................................####################################################.............................................\r\n.................############################################..........................................################################################.................................................\r\n....................######################################.............................................#########################################........................................................\r\n.........................#############################..................................................................................................................................................\r\n..............................###################.......................................................................................................................................................\r\nadd 50 rows below\r\n%}\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-12T05:01:51.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-11T16:20:17.000Z","updated_at":"2026-03-11T08:39:22.000Z","published_at":"2024-07-12T05:01:52.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 21 maze is a 200x200 matrix with L near the middle,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB$ B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L\\\" L# ? B= v# I! Sllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll B. B$ v\\\" B/ v# I% BT I\\\" BD B% v# I% Sl~aF   in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, a=\u0026gt;#, IR means Integer 49, IS is 50\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman21 solution was written in ICFP to reduce length versus 40000 U/R/D/L commands, a decent compression.\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\u003eB$ Lf B$ B$ vf vf IR Ls Lp ? B= vp IP S3/,6%},!-\\\"$!-!.WV} B. B$ B$ vs vs B% B* I$ vp I~|( BT I\\\" BD B% vp I% SO\u0026gt;LF\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 challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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 ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\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=\\\"100\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"100\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e Lambdaman21 was solved by Thirteen Team using tools. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=Xcm3S9VlqqY\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eThirteenTeam youtube ICFP2024\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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 challenge is to solve the Lamdaman21 maze, eat all the cheese by a char path of UDLR, with a program smaller than the template. As of 7/11/24 I am unable to expand the ICFP solution.\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.gif\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhyADIAOetAAAAAA0NDRYWFhwcHCIiIiYmJioqKi4uLjIyMjU1NTg4ODs7Oz09PUBAQEJCQkVFRUdHR0lJSUtLS01NTU9PT1FRUVNTU1VVVVZWVlhYWFpaWlxcXF1dXV9fX2BgYGJiYmNjY2VlZWZmZmhoaGlpaWpqamxsbG1tbW5ubnBwcHFxcXJycnNzc3V1dXZ2dnd3d3h4eHl5eXp6enx8fH19fX9/f4CAgIGBgYKCgoODg4WFhYaGhoeHh4iIiIqKioyMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6ampqenp6ioqKmpqaqqqqurq6ysrK2tra+vr7CwsLGxsbKysrOzs7S0tLW1tba2tri4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2Nra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAADIAMgAAAj+AFsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWr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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47204,"title":"Cutoff OF Exam","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 203.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 101.81px; transform-origin: 174px 101.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the function that will return the interview cutoff  for given year.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTotal marks of Interview in 2010 were 100\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eEach year total marks got increased by 10 marks\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eCutoff percentage for each year remains same which is equal to 60 percent.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction cutoff(year) will calculate cutoff marks for year y.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = cutoff(year)\r\n  y = year-2010\r\nend","test_suite":"%%\r\nyear = 2015;\r\ny_correct = 90;\r\nassert(isequal(cutoff(year),y_correct))\r\n\r\n%%\r\nyear = 2010;\r\ny_correct = 60;\r\nassert(isequal(cutoff(year),y_correct))\r\n\r\n%%\r\nyear =2018;\r\ny_correct = 108;\r\nassert(isequal(cutoff(year),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":41,"test_suite_updated_at":"2020-11-03T11:11:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:06:56.000Z","updated_at":"2026-03-05T11:50:13.000Z","published_at":"2020-11-03T11:11:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the function that will return the interview cutoff  for given year.\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\u003eTotal marks of Interview in 2010 were 100\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\u003eEach year total marks got increased by 10 marks\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\u003eCutoff percentage for each year remains same which is equal to 60 percent.\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\u003eFunction cutoff(year) will calculate cutoff marks for year y.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47340,"title":"Find Logic 19","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(0,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5,1) = 36\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value according  to problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 0;\r\ny_correct = 1;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 16;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\ny_correct = 9;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":5,"comments_count":6,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":660,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T17:39:16.000Z","updated_at":"2026-03-03T19:44:00.000Z","published_at":"2020-11-05T17:39:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(0,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,1) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = 9\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\u003elogic(2,2) = 16\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\u003elogic(2,3) = 25\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\u003elogic(4,1) = 25\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\u003elogic(5,1) = 36\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\u003eMake a function logic(a,b) which will return value according  to problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47360,"title":"Find Logic 23","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 260.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 130.286px; transform-origin: 174px 130.286px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 27\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a-b;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\nassert(isequal(logic(b,a),2))\r\n\r\n%%\r\na = 3;\r\nb = 2;\r\nassert(isequal(logic(a,b),8))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(b,a),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":284,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T11:20:30.000Z","updated_at":"2026-03-17T20:20:53.000Z","published_at":"2020-11-06T11:20:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = 2\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\u003elogic(1,3) = 3\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\u003elogic(2,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2,2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,3) = 27\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60638,"title":"ICFP2024 009: Lambdaman Crawler-Backfill","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\r\n\r\nThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.","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: 696px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 348px; transform-origin: 407px 348px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 371px 8px; transform-origin: 371px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 420px; 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 210px; text-align: left; transform-origin: 384px 210px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 560px;height: 420px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"560\" height=\"420\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [pathbest]=crawler_fill(m)\r\n% This is not crawler_fill_optimal\r\n% Grab UDLR adj2\r\n% Grab UDLR adj3 if no 2s\r\n% Backfill L spot if 3 adj are Wall 0\r\n% No optimal path selection when at intersection of 2s\r\n%Crawler with backfill will solve non-loop mazes, but not guaranteed min moves\r\n%Crawler UDLR score 394\r\n %crawler 1/15 2/33 3/Fail 4/394/.09s 5/Fail 6/199/.09 7/Fail 8/4899/.21s 9/2500/.12  10/Fail\r\n %11[103x103]/9988/.33s\r\n % 12[101x101]/9992  13/9976 14/9994 15[101x101]/9986/.33s Big Unique solutions\r\n % 16[129x129]/8190/.34s 17[141x100]/Fail 18[163x290]/Fail 19[257x?] 20[256x?] 21[200x200]\r\n\r\n pathbest='';\r\n pathv=zeros(10000,1); pathvptr=0;\r\n \r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr]; % UDLR 1234\r\n \r\n% zmap=[0 0 0;1 0 0;0 1 0;0 0 1]; \r\n% figure(1);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n \r\n Lidx=find(m==1);\r\n% ztic=tic;\r\n while nnz(m==2)\u003e0\r\n%  if toc(ztic)\u003e1\r\n%    fprintf('ztic Timeout\\n');\r\n%    break;\r\n%  end\r\n  \r\n  vadj=m(adj+Lidx);\r\n  m(Lidx)=3;\r\n  if nnz(vadj==0)==3\r\n   m(Lidx)=0; % cul-de-sac  Backfill\r\n  end\r\n  \r\n  if nnz(vadj==2)\u003e0\r\n   ptr=find(vadj==2,1,'first');\r\n  else % only 3s adj\r\n   ptr=find(vadj==3,1,'first');\r\n  end\r\n  Lidx=Lidx+adj(ptr);\r\n  m(Lidx)=1;\r\n  pathvptr=pathvptr+1;\r\n  pathv(pathvptr)=ptr;\r\n  \r\n%   if mod(pathvptr,100)==0\r\n%    figure(2);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n%    pause(0.05);\r\n%   end\r\n  \r\n end % while m==2\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(pathv(1:pathvptr));\r\n \r\n %if nnz(m==2)\u003e0\r\n % fprintf('BestPath:');fprintf('%s',pathbest);fprintf(' Uneaten:%i\\n',nnz(m==2));fprintf('\\n')\r\n %else\r\n % fprintf('Solved Path:');fprintf('%s',pathbest);fprintf('\\nLength:%i\\n',length(pathbest));\r\n %end\r\n \r\n%figure(4);image(reshape(m+1,nr,nc));colormap(zmap);axis equal;axis tight\r\n \r\nend % crawler_fill\r\n\r\n","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 4  optimal solution L348 DDLLRRUULLUUUUDDDDLLUULLUURRLLDDRRDDRRRRRRLLUUUURRRRRRDDRRRRUURRLLDDRRLLLLLLUURRLLLLLLLLDDRRRRDDDDLLRRDDLLDDLLUUDDRRDDRRLLDDLLDDDDUUUUUULLDDDDDDLLRRUULLLLUURRUUDDLLDDDDUURRRRUUUUUULLUUUUDDRRLLDDLLUUUUUUDDDDDDDDUURRRRDDRRDDRRDDDDUURRDDUURRDDUULLLLUUUUUUUURRUURRRRLLUURRRRRRLLDDRRDDDDDDDDLLRRUULLRRUUUULLLLRRDDLLLLUUDDLLRRDDRRDDLLLLRRRRDDDDRRRRLLUURR\r\n ms=[ ...\r\n'...#.#.........#...'\r\n'.###.#.#####.###.##'\r\n'...#.#.....#.......'\r\n'##.#.#.###.########'\r\n'.#....L..#.#.......'\r\n'.#####.###.#.###.##'\r\n'.#.#...#.......#...'\r\n'.#.#######.#######.'\r\n'.#...#.#...#.#.....'\r\n'.#.###.#.###.###.#.'\r\n'.....#...#.......#.'\r\n'.###.###.###.#####.'\r\n'.#.#...#...#...#...'\r\n'##.#.#.#.#####.###.'\r\n'...#.#...#.....#...'\r\n'.###.#.#.#####.####'\r\n'.....#.#.....#.#...'\r\n'.###.#.#.#.#.#.#.##'\r\n'.#...#.#.#.#.#.....'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=400 % Lambda4\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=400 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26\r\n ms=[ ...\r\n      'L...#.'\r\n      '#.#.#.'\r\n      '##....'\r\n      '...###'\r\n      '.##..#'\r\n      '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=40 % Lambda2 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=40 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 9  optimal solution L2499 50x50 L in top lesft\r\n ms=repmat('.',50,50);\r\n ms(1)='L';\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=2500 % Lambda2 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=2500 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 11[103x103]/9988/.33s\r\n%Lambdaman 11  optimal solution ?\r\n ms=[ ...\r\n'#####################################################################################################'\r\n'#.#.....#.......#.#.......#...#...#.......#...#.......#.#.......#...#.....#.....#.....#.......#.....#'\r\n'#.###.###.#####.#.###.###.#.###.#.#.#######.#######.###.#.###.###.#####.#.###.#######.#.#.#########.#'\r\n'#...#.#.....#.....#.....#...#...#.....#.........#.#.......#...#.........#.....#...#.#...#.#.........#'\r\n'#.###.###.###.#.#########.#.#.###.#.#.#.###.#.###.###.#################.#######.#.#.###.###.#.###.###'\r\n'#.#.#.....#...#...#.#.#...#.#.#...#.#.#...#.#.#...........#.....#.......#.#.#...#.#.........#...#...#'\r\n'#.#.###.###.#######.#.#.#######.#####.#.#.###.###.#.#####.#####.#.###.#.#.#.###.#.#.#####.#####.#####'\r\n'#.......#.#.#.....#.........#.....#...#.#...#...#.#.#...#.#...#.#...#.#.#.....#.#.....#.....#.#.....#'\r\n'#####.#.#.###.#.###.#.###.#.#.#######.#.#.###.###.#.#.#######.#.###.#####.###.###.#.#.#.###.#.#.###.#'\r\n'#...#.#.#...#.#...#.#...#.#.......#.#.#.#.#.#...#.#.#.......#.......#.....#...#.#.#.#.#.#.....#.#.#.#'\r\n'###.###.#.###.#####.#######.#.#####.#.#.###.#######.#####.#.#####.#.#.#.#####.#.#.###########.#.#.###'\r\n'#...#.........#.........#.#.#.#...#.........#.........#.#.#...#...#...#...#...#.#...#...#.....#.....#'\r\n'###.#.#.#.###.#####.#.###.###.###.###.#############.###.#####.###.###.###.#.###.###.#.###.#########.#'\r\n'#.#...#.#.#...#.....#.#.....#.#.#...#.....#...#...#.#.............#...#...#.#.....#.#...#.........#.#'\r\n'#.###.###.###.###.#####.###.#.#.###.###.###.#####.#.#.###.#############.###.#####.#.#.###.#####.#####'\r\n'#.....#.....#.........#.#.....#...#.........#.#.#...#...#.......#...#.#.#...#...#.....#.....#.......#'\r\n'#.#.###.###.#.#.#################.#.#####.###.#.#.#.#.#####.###.###.#.#######.###.#####.#.###.###.###'\r\n'#.#.#.#.#...#.#...#...#...#...#.......#...#.#...#.#.#.....#.#...#.....#...........#.....#.#.#...#.#.#'\r\n'#.###.###.#.#######.###.#####.#.###.#.#.###.#.###.#############.###.###.###.###.###########.#.#.###.#'\r\n'#.#.....#.#.#.....#.#.......#.#...#.#.#.#...#.......#.#.....#.#.#.....#.#.....#.#.......#...#.#.#.#.#'\r\n'#.###.#######.#####.#.###.###.#.###.#.#####.#.#.#####.###.###.#.#.#######.#####.#.###.###.###.#.#.#.#'\r\n'#.#...#...#.....#.#...#...#.#.#.#...#.#.#.....#.#...#.....#...#.#.....#...#.......#.........#.#.....#'\r\n'###.#.###.#.#.###.#.#.#.#.#.#.###.#####.###.#.#####.###.#.#.###.#####.###.#.###.#######.###########.#'\r\n'#...#.#.#...#...#...#.#.#...#.#.#.#.........#.#...#...#.#.............#...#.#.......#.....#.....#.#.#'\r\n'###.###.#.###.#####.#######.#.#.#.#######.###.#.#####.#.#.#####.###.#.#.###########.#########.#.#.###'\r\n'#...#.#...#.#.#.#...#.....#.....#.......#...#.#...#.....#.#...#...#.#.#.#...#.#.#.....#.....#.#.....#'\r\n'#.###.#.###.#.#.#.#####.###.#####.#.#.#####.###.#####.#####.#######.#######.#.#.#####.#.#.###.#.#.#.#'\r\n'#.....#.#.#...#.#.....#...#...#.#.#.#.......#...............#.....#...#.....#.........#.#...#.#.#.#.#'\r\n'#.###.###.###.#.#.#.###.#####.#.#.#######.#.###########.###.#.#########.#.#########.#.#.###########.#'\r\n'#.#.#...#.#.......#.#...#...#L#.......#.#.#.....#...#...#.#.#.#...#.#...#...#.#.....#.....#.....#.#.#'\r\n'#.#.###.#.#####.###.###.###.#.#.###.###.###########.#.###.###.###.#.#.#######.###.###.#.#####.###.#.#'\r\n'#.#...........#.#.....#.#.#...#...#.#...#.......#.#.#...........#.....#.#.......#.#...#.#.....#.#...#'\r\n'###.###.###.###.###.###.#.#.###.#####.#.#.#.#####.#.#.#########.#.###.#.#.#.#.#####.#########.#.#.###'\r\n'#...#...#.#...#.#...#.#.#.....#.....#.#.#.#.............#.#.....#.#.#.....#.#.#.........#.#.....#...#'\r\n'#######.#.#########.#.#.###.#####.###.###.#######.#####.#.#####.###.#.###.###.#.###.#.###.###.#.#.###'\r\n'#.....#.........#...#.......#...#.#.......#.#...#.#...........#.#.....#.....#.#.#.#.#.....#...#.....#'\r\n'###.###.###.#.###.#.#.#####.###.#.#####.###.###.#.###.#.#.#.#######.#####.###.###.#.###.#####.#.#####'\r\n'#.#...#.#...#.#...#.#.#...#...#.......#.....#.......#.#.#.#...#.......#.....#.#...#...#...#.#.#.....#'\r\n'#.#.#######.###.#########.#.###.#####.###.#.#.#######.#######.#.#.#.#######.#####.#.#.#.#.#.#######.#'\r\n'#.#.......#.....#.....#.....#...#.......#.#.#...#.....#.#...#...#.#.....#.#.#...#...#.#.#...#.#...#.#'\r\n'#.#.#.###.#####.#.#######.#####.#############.#########.###.#.#########.#.#####.#.###.#.#####.#.#.#.#'\r\n'#.#.#.#.#.#.....#.....#.....#.................#...#.....#.........#.........#...#.#...#.........#...#'\r\n'#.###.#.#.#.#.###.###.###############.###.#####.#.#####.#.#.###.#########.###.#####.###.###.#.#######'\r\n'#...#.#.....#...#.#...#.#.........#.....#...#.#.#...#...#.#.#...#...#...#.#.#.#.#.#.#.#.#...#...#...#'\r\n'#.###.###.###.###.###.#.#.###.#.###.#######.#.#.#.#.###.#.#######.#.#.#.###.#.#.#.###.#.#####.#.#.###'\r\n'#.......#.#...#.#...#...#.#.#.#.........#.....#.#.#...#...#...#.#.#...#.#.......#.#.#.......#.#.#...#'\r\n'#.###.###.###.#.#.#####.###.#.###.#.#.###.###########.#.#####.#.#.###.###.#####.#.#.#.#####.###.#.#.#'\r\n'#...#.#.#.#...#...#.....#.#...#...#.#...#.#.........#...#...........#.....#.#...#.........#...#...#.#'\r\n'#.#.###.###.#######.#####.#.###############.#.#.###.#.###.#########.#######.#.#########.###.#####.###'\r\n'#.#.#.........#.#.....#.#.#.#.#...#...#.#.#.#.#...#...........#.#...#.#...........#...#...#...#.....#'\r\n'#####.#########.#.###.#.#.#.#.#.#.###.#.#.#.###############.###.#.###.#####.#.#.#####.#.#######.#.###'\r\n'#.........#.......#...#.......#.#.#...#.......#.....#.....#.#...#.....#.#...#.#.#...........#...#.#.#'\r\n'###.###.#######.###.#####.#####.#.#.#.###.#.###.###.#.#####.#.#####.#.#.#.#.#####.#####.#.#.#####.#.#'\r\n'#.....#.#.#.......#...#.#.....#.#...#...#.#...#.#.#.#.....#.#...#...#...#.#.......#.....#.#...#.....#'\r\n'###.#.###.#.###.#.#####.#.#########.###########.#.###.#########.#######.#########.#####.###########.#'\r\n'#...#.......#...#.....#.#.#.#.#.#.......#...#...#...#.....#...#.#.#...#.......#...#...#.#.......#...#'\r\n'#.#.#########.#.#.#.###.#.#.#.#.#.#.#####.#####.###.###.#####.#.#.###.#.###.###.#.#.#.###.###.###.#.#'\r\n'#.#...#.#.#...#.#.#.........#.#.#.#.#...#...........#.....#.#.#...#...#...#.#.#.#...#...#.#.#.#...#.#'\r\n'#.#####.#.###.#.#######.#.#.#.#.#.###.#######.###.###.#.#.#.#.#.#####.#######.#.###########.#.#####.#'\r\n'#.#.#.#.......#.#.......#.#.#.#...#.......#.....#...#.#.#.#.#...#.#.......#...#.#.....#.#.....#.....#'\r\n'###.#.#####.###########.###.#.#.#.#######.#.###.#.###.#.###.#.###.###.###.#.#.###.#####.#####.#.#.###'\r\n'#.....#.#.#...#.....#...#.#.....#.#.....#...#...#.#.#.#.....#.......#...#...#...#.#.......#.....#.#.#'\r\n'#.#####.#.#.#.#.###.###.#.#.#######.#####.#####.###.#.#######.#######.#.#####.###.#######.#####.###.#'\r\n'#.#...#.#...#...#...#.....#.....#.#.#.#.......#.....#...#.....#...#...#.#.#.#...#...#.#.....#.......#'\r\n'#.###.#.#.#.#.#####.#.#.###.#####.#.#.###.#.###.#######.#.#.#####.#####.#.#.#####.###.#.#.###.#.###.#'\r\n'#.......#.#.#.#.#...#.#.#.......#.#.......#.#.#.......#...#.#.#.#.#...#...............#.#.#...#...#.#'\r\n'#.#####.#.#####.#.#####.#.#.#####.###.#######.###.#.###.#.###.#.#.###.#####.#####.#######.###.#######'\r\n'#.#.#.#.........#...#.#.#.#...#.....#.#...#.....#.#...#.#.#...#.#...#...#...#.#...#.......#.......#.#'\r\n'###.#.#.#####.#######.###.###.#.#####.#.###.###.#.#.###.###.#.#.#.#.###.###.#.#######.###.#.#.###.#.#'\r\n'#.........#.....#.......#.#...#...........#...#...#...#...#.#.....#.#.........#.#.....#.#...#...#...#'\r\n'###.#####.#.#.#####.#####.#############.###.###.#####.#.#########.#########.###.#####.#.#.#######.#.#'\r\n'#...#.....#.#.#...#.#...#.....#...#.#.#...#.#.....#...#.........#...#.#.#...#.#.#.#.#.#...#.#.#.#.#.#'\r\n'###.###.###.#.###.#.#.###.#.#####.#.#.#########.###.###.###.###.###.#.#.###.#.#.#.#.#######.#.#.#.#.#'\r\n'#.#.#...#...#.#...#.....#.#.#.....#.....#.#...#.#.#.....#...#...#.......#.....#.#.....#.#.#.......#.#'\r\n'#.#####.#.#######.#.#.###.#.#.#.#.#####.#.#.#####.#.#########.#######.#####.###.#.#.#.#.#.#.#####.###'\r\n'#.....#.#.#...#...#.#.....#...#.#...#.#...#...#.#...#...........#.#.....#...#...#.#.#.#.#...#.#...#.#'\r\n'#.#.#####.#.###.###.#.#.#####.#######.#.###.###.#.#######.#####.#.#.#######.#.#####.#.#.#####.#.###.#'\r\n'#.#...#.#.#.#.#.#...#.#.#.............#.#.....#.....#.#...#.....#.#.....#.#...#.#.#.#...#.#...#.....#'\r\n'#.#.#.#.#.#.#.#.#####.###.#####.#######.#####.#.#####.#####.###.#.###.#.#.#.###.#.#####.#.###.#.###.#'\r\n'#.#.#.#...#...#.#.....#.#...#...#.#.#...#.....#...#.#.#.......#.....#.#...........#.......#.......#.#'\r\n'#.###.###.###.#.#.#####.#####.#.#.#.###.###.#####.#.#.#.###.#.#######.###.###.#.###.#####.#.###.###.#'\r\n'#...#.#.#.#.......#.......#.#.#.#...............#...#.#.#...#...#.#...#.....#.#.#.#.#.#...#...#.#...#'\r\n'#.#.###.#.#######.#.###.#.#.#.###.#########.#.#######.#######.###.#####.#########.###.###.#######.###'\r\n'#.#.#.#...#...#...#...#.#.#...#.#.#.#...#...#.#.....#.#...#.#.....#.#...#.#.......#.#.#.#.#.....#.#.#'\r\n'###.#.#######.#.#.#######.#####.#.#.###.#.###.#.#.#.#.#.###.#.#.###.###.#.#####.#.#.#.#.#.#.###.###.#'\r\n'#.......#.#.#...#...#.#.....#.....#.#.......#.#.#.#.....#.....#.......#.........#.#.........#.....#.#'\r\n'#####.###.#.#####.###.#.###.###.###.#####.#####.#####.#.###.###.###.#.#.#######.#.#.#.###.#######.#.#'\r\n'#.....#.#.....#...#...#...#...#.#.........#.....#.....#...#...#.#...#.....#...#.#...#...#.#.#.#.#...#'\r\n'#####.#.#.#.#.#.#####.#.#.#######.#.###.#.#.###.#.#.#.#.###.#####.#########.#.#####.#####.#.#.#.#.#.#'\r\n'#...#.#...#.#...#.......#.#.......#.#.#.#.#...#.#.#.#.#.....#...#...........#.#...#.#.........#...#.#'\r\n'#.#.#.#.#.#.#.#.#.#.###.#########.###.#.#.###.###.#####.#####.#.#.#.#.#.#######.#######.#.###########'\r\n'#.#.....#.#.#.#...#...#...#...#.......#.#.#.....#.#.#.....#...#.#.#.#.#...#.#.......#...#.#...#.#...#'\r\n'#####.###.#####.#.#########.###.#.#.#########.#####.###.#.#.#.#.#####.###.#.###.###.#.#.###.#.#.#.###'\r\n'#...#.#...#...#.#...#.....#.....#.#.......#.......#.#...#...#.#.#.#...#...........#.#.#.#...#.......#'\r\n'#.#.###.#####.#.#######.###.#######.#.#.#.#####.###.#######.#.###.#####.#.###.#####.#######.#####.#.#'\r\n'#.#.....#.#.......#.........#.......#.#.#...#.........#.....#...#...#...#.#.#...#.........#...#...#.#'\r\n'###.###.#.#######.#.###.#######.#.#.#.###.#.#######.###.#.#.###.#.#########.#.#.###.#####.#####.###.#'\r\n'#...#...#...#...#...#...#.#.....#.#.#...#.#.........#...#.#...#.#...#.........#...#.#.#.#.#.....#.#.#'\r\n'###.#.###.###.#.###.#####.#######.#.#.###.###.#######.###########.#.#.###.#######.#.#.#.#.###.#.#.###'\r\n'#...#.........#.#...........#.....#.#.#.....#...#...............#.#...#.....#.....#...#.......#.....#'\r\n'#####################################################################################################'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 15[101x101]/9986/.33s\r\n%Lambdaman 15  optimal solution ?\r\ns15='######################################################################################################...#.#...#.....#...#.......#...#.#.#.#.#.........#...#.......#.#.#...#...#...#...#.#...#.#.......#.##.###.#.#####.###.#.#####.#.#.###.#.#.#.###.#.#.#.#.###.#######.#.#.#.#.###.#.#.###.#.#.#.#.#.#.###.##.#...#.......#.#.#.......#.#.#.......#.....#.#.#.#.....#...........#...#...#.#.....#.#.#.#.#.#.#...##.###.###.#####.#####.#######.###.#.#####.#.###########.#######.#############.###.###.###.#.#.#####.##.#.#.............#.#.#.#.#.......#...#...#.#.........#.......#...........#...#.#.#.........#.......##.#.#####.###.#####.#.#.#.#.###########.#####.###.#.###.#.#########.###.#.#.###.#.###.###########.#.##...#.....#.....#.....#.....#...#.......#...#...#.#.#.#.#.....#.#.....#.#...#.#.......#.........#.#.####.###.#############.#.#####.###.###.###.#########.#.###.#####.#.###.###.#.#.#.#############.###.####.#.....#.#.#...#...#...........#...#.............#...........#...#.#.#...#.#.#.......#.....#...#...##.#.#####.#.#.###.#######.###.###########.#.#####.###.#.#####.#.#.#.#.###.#.#.###.#.###.#####.########.....#.....#.#.............#.....#.#.....#.#...#.....#...#.#...#...#.#.#.#.#...#.#...........#.....##.###.###.#.#.#.#.#.###.###.###.###.#.#########.#.#.###.#.#.###.#.#.#.#.#####.#####.###.#.###.###.#.##.#.......#.....#.#...#...#.#.....#.#.#...........#.#...#.#.#...#.#.#...#.......#.#.#...#.#.......#.######.#.#.###.#####.#######.#####.#.#.###.#####.#########.#.#########.#.#.###.#.#.#######.#.#.#.######.#.#.#.#...#...#.#...#...#...#.#.#.#.#...#...#.#...#...#...#.....#...#...#...#.........#.#.#.#.....##.#.#.#########.#.###.#.###.#.#.#.#.#.#####.#####.###.#####.###.#####.###########.#.#.###########.####...#.....#.#.#...#.....#...#.#...#.#.#.....#.#.....#.......#.....#...#...#...#.#.#.#.#.#.#.........##.###.###.#.#.#####.#####.#####.###.#.#.#.###.#.#####.#####.#.#.#####.#.#####.#.###.###.#.###.#####.##...#...#.#...#.........#...#...#.....#.#.....#.........#...#.#...#...#.#.#...#.......#...#.#.....#.####.###.###.###.#.#########.#.#########.#############.#.###.#####.#.###.#.###.#####.#.#.###.#####.####.........#.....#.....#...#.#.#.............#.....#...#...#.....#...#.......#.....#.#.#.............####.###.#############.#.#####.#####.#####.#.#.#######.#####.###########.#########.###.#.###.#.#####.##.#.#.....#...#...#.#.#...#.......#.#...#.#.#.....#...#.......#.............#.#...#.#.#...#.#.#...#.##.#######.#.#####.#.#.###.###.#####.###.#.#######.###.#####.#.#######.#######.###.#.#.#.###.#.#.###.##.........#.......#.#.......#.#.....#.#...............#.#.#.#.#.....#.#.#.#...#...#...#.#.#.#.....#.########.#######.###.#####.#####.#####.#.###.#######.###.#.###.###.#.#.#.#.#.#####.#.#.###.#########.##...#...#.............#.#.....#.#.#.....#.......#.#...#.#.#.#.#.#.#.........#...#.#.#.........#.#...##.#.#####.###.#.###.###.#.#.###.#.#.#.###.###.###.#.###.#.#.###.#.#.#####.#.#.#.#.#.#########.#.#.#.##.#.#.....#...#.#...#...#.#.......#.#.#.#.#.#.#.#...#.......#.#...#...#.#.#.#.#...#...#.#...#.....#.####.###.###.#.#.###.###.###.#.#######.#.#.#.###.#######.###.#.#.#.#####.###.#.#.#.#.###.#.###.#.######.......#...#.#.#...........#.#...#.#.#...#.....#.......#...#...#.........#...#.#.#...#.#.....#...#.####.#.#.###.#########.#.#.#.#.###.#.###.#.#.#.#.#.#####.#######.#####.#######.###.###.#.#.#.###.###.##...#.#...#...#...#.#.#.#.#.#.#.......#.#.#.#.#.#...#.....#...#.#.#.#.#.#...#.#.#.....#.#.#.#.#.....##.###.###########.#.#.#######.#####.#####.#####.#####.#.#####.###.#.###.#.###.#.#.###.#.###.#.#.#.####.#...#.#.....#.#.#.#...#.#.....#.#.....#.#.......#...#.......#.....#...#.....#...#.......#.#...#.#.####.#.#.#.###.#.#.#.#.#.#.###.###.###.###.#.###.#.#####.#.#.#.#.#.#.###.#########.###.###.#######.#.##...#.#...#...........#.#.#...#.........#...#...#.#.#...#.#.#...#.#.#.........#...#.....#.#.#.#.#...########.#####.#.###.#####.#.#######.#.###.#.#####.#.###.#.###########.#.###.#.#.#########.#.#.#.###.##.#...#.....#.#.#...#.......#.....#.#.....#...#.#.#.#...#.#.#...#.....#.#...#.#...#.#.#.#.#.#.#.#...##.###.#.#.#######.#.#########.###.###.#####.#.#.#.#.#.#####.###.#.#.#####.#####.###.#.#.###.#.#.#.####.#...#.#.#.#...#.#.............#.#.....#...#.#...#...#...#.....#.#...#.......#.#.........#.........##.#.#.#.###.###.###.###.#.#.###########.#.#####.#####.#.###.###.#.#.#########.#.###.#.#####.#.#.######.#.#.#.#...#.#.....#...#.#...#...#.....#.#...#.........#.#.#.#.#.#...#...#.....#...#.#...#.#.#.#...##.###.#.#.#.#.###.#############.###.#######.###.#.#.###.#.###.#.#.#####.###.###.###.#.#.#######.#.#.##.....#...#...#...#.#.#...#.....#.......#.....#.#.#.#...#...#.#.......#.......#...#.#.......#.....#.####.###.#.###.###.#.#.###.#.###.#########.###.###.#########.#.#.###########.#######.#############.####.#.#...#...#.#...........#...#.........#.#...#.#...#.........#.......#...#...#.#.....#...#.....#...##.#.#####.###.#########.#.###.###.#.###.#.###.#.#.#####.###.###.#.#####.#.###.#.#####.###.#.#######.##...#...#...#.#.........#.#...#.#.#.#.#.....#...#.....#.#...#...#.#.....#.#.........#...............##.#####.#.#########.###.###.###.#####.#.#####.#.###########.#.###.#######.#################.#.#.#.#.##...........#...#...#.#.#.....#.....#.......#.#.#...#.#.#.#.....#.#...........#.......#...#.#.#.#.#.######.#####.###.###.#.###.#.#######.#.#.#.###.###.#.#.#.#.###.#######.###.###.#####.#####.#.##########.........#.#...#.....#.#.#...#.....#.#.#.#.......#.#.#.#.....#.#.......#.#...#.#.#.......#.........############.#.###.#####.###.#####.#####.#######.#####.#.###.#.#.###.###.#####.#.#.###.###.#.###.###.##...#...#.....#.#...#...#.........#.#.#.#...........#...#...#.......#.......#.#.#...#.#.......#...#.####.###.###.#.#.###.#.###.###.#.#.#.#.###.#########.#.###########.###.###.#####.#.###########.########...#.#.....#.#.#.....#.#.#.#.#.#.#...#.....#.#.........#.#.........#.#.......#...#.#.......#.#.#.#.####.#.###.#.###.#.###.#.###.#.###.###.###.#.#.#.###.###.#.###.###.###.###.#.#####.#.#####.#.#.#.#.#.##.#...#...#...#.#.#.#.#...#...#.....#...#.#...#.#...#...#.#...#...#...#...#.#...#.........#.#.......##.#.#.###.#.###.###.###.###########.#.###.#.#########.###.###.#.#.#.###########.#.#########.###.#.####...#.#.#.#.....#.#.........#.#....L#...#.#...#.......#.#.....#.#.#.#.........#...#...#.#.......#...######.#.###.#.###.#######.#.#.#.#####.#.#########.#####.#.#.#####.###.#############.###.###.#####.#.##.#.......#.#.#.....#.....#.........#.#.....#.......#.#...#.#...#.#...#.#.#...........#...#.#.#.#.#.##.###.###.#####.###.#.###########.###.#.#.###.#######.#.#######.###.###.#.###.#.#####.#.#.#.#.#.#.####.......#.#.....#...#...#...........#.#.#.#...........#...#.......#.......#.#.#...#.#...#.#.#.......########.###.#####.#########.###.#.#.#.###############.###.#.###.#######.###.#######.#.#.#.#.##########.........#.#.#.#.......#...#...#.#.........#.....#.......#...#...#...........#.......#.#.#...#.....########.#####.#.#.###.#.#.#####.#######.#.#.###.###.#.###.#.#######.#.#.#.###########.#.#.#.#####.####.......#...#.....#.#.#.....#.....#.....#.#.#.#.....#.#.#.....#...#.#.#.#.....#.......#.#...#.#...#.##.###.#.#.###.#.###.###.#####.#.###.###.#.###.#.#.#.###.###.#.###.#####.#########.#.#######.#.###.#.##.#.#.#.....#.#...#...#...#...#.#.....#.#.....#.#.#...#.....#.#.....#.#.#.#.#.....#...#.#...#.......####.#.#####.#.#.#.###.#.###.#########.#.#.#######.###.#.#.#######.###.#.#.#.###.#######.#.#.#.###.####.#...#.#.#...#.#...#...#.#.#.#.....#.#.#.#...#.#.#...#.#.#.#...#.#.....#.......#.........#...#.#...##.###.#.#.#####.#####.#.#.###.#.#####.#####.###.#.#.#######.###.#.###.#.###.###.#.###.#####.###.###.##.....#...#.#.#.#.....#.#.........#...........#...#.#.#...#.#.#.#...#.#.#.#.#...#.#...#...#...#...#.######.#.###.#.###.#####.#.###.###.#.#.#####.###.#.#.#.###.#.#.#.###.#.#.#.#.###.###.#.#.#.#.###.######.....#...#.#.#.#.#...#.....#.#...#.#...#...#.#.#.#...........#.#.#...#.#.#.#.....#.#.#.#.#.#.#.....####.#####.#.#.#.###.#.###.#####.#.#.#####.###.#.###.#######.#.#.#.#.#.#.#.#.#.#####.#####.#.#.#.#.####.....#...#...#.#...#...#.#.#.#.#.#.....#.#.#.#...#...#...#.#...#.#.#.#...#.#.#.#.....#.....#...#...##.#.#####.###.#.###.#######.#.#############.#.#.#####.#.#.#.#####.#.#########.#.#########.###.#####.##.#...........#.#...#.....#...#.........#.....#.#...#.#.#.......#.......#...........#.#.......#.#.#.##.#.###.#.#.#.#.###.#.###.###.#######.#.#.#.#####.#.#.#######.#####.###.###.#.#####.#.#####.###.#.####.#.#.#.#.#.#...#...#.#.#...#.....#.#.#...#.#.....#.#...#.....#.....#...#...#...#.....#.......#.....##.###.###.#.###.###.###.###.###.###.#######.#.#.###.#####.#.#########.#########.###.#.#.#######.###.##.....#...#...#...#.....#.#...........#...#...#.#.#.#.#...#...#.........#.#.....#...#.#.#.#...#...#.##.#.#.###############.#.#.#.###.###.###.#.#####.#.#.#.###.###.#########.#.#############.#.#.#####.#.##.#.#.....#.......#...#.#...#...#.#...#.#.......#...#.#...#.........#...#...#...#.......#.....#...#.##.#######.#.#####.#.###.#.#.###.#.###########.###.#.#.###.#######.#.#.#####.###.#######.#.###.#####.##.#.#...........#.#.#...#.#...#...#.#.......#...#.#.....#.#.#.....#.........#.#.#...#.#...#.#.....#.##.#.###.###.#.#.###.#######.###.#.#.###.#.###.#####.#######.#.###.###.#####.#.#.#.#.#.###.#.#####.#.##.....#...#.#.#.......#...#.#.#.#.......#...#...#.....#.#.#.#.#.#.#.....#.#.#.....#...#.#.#.....#...##.#.#.###.###.###.#.###.#.#.#.###########.###########.#.#.#.###.#.#.#.###.#######.#####.#.#.###.#.#.##.#.#...#.#...#...#.....#.....#...#.#.......#.#.......#.#.....#...#.#.........#.......#...#...#.#.#.####.#######.#########.#####.#####.#.#.#####.#.#.#######.#.###.###.###.#.#####.#.#######.###.###.###.##...#.....#...#.#...#.....#.........#...#...............#.#.#.....#...#.#.#...#...#.........#.#.#...####.#.#.###.#.#.###.#.#.#.#####.#.###.###########.#.#.#####.#.#########.#.#.###.#.###.###.#.#.#.###.##...#.#.....#.#...#.#.#.#.#.#...#.#.....#...#.....#.#.....#...#.......#...#.#...#.#...#...#.#.#...#.##.#####.#.#.#.#.###.#.#####.#.#####.#.###.#####.###.#.#.#.#####.#.###.#.###.#.#####.#.#.#####.#.#.####.....#.#.#.#.....#.........#.....#.#...#.......#...#.#.#.....#.#...#...#.........#.#.#...#.....#...######################################################################################################';\r\nms=reshape(s15,101,101)';\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n% \r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n% 14[101x101]/9994\r\n%Lambdaman 14  optimal solution ?\r\ns14='######################################################################################################.......#.......#.......#...#.....#.....#.........#.#.........#.......#.#.....#.#.....#.#.....#.....##.###.#######.#.#####.#####.###.###.#####.#.#.###.#.#.###.###.#.###.###.#.#.###.#.###.#.#.#.#.###.####...#.....#...#...#.#.......#.....#...#.#.#.#.#...#...#.#.#...#.#...#.#...#.#...#.#.#.#.#.#.#.......##.#.###.#.#.#######.#.#.#.#####.#.###.#.#.#####.#######.#.#####.###.#.###.#####.#.#.###.#.#.#####.#.##.#...#.#...........#.#.#.....#.#.#.....#...#.#...#.#.....#.#.#.#.................#.#.....#.#.....#.####.###.#######.###.###.#####.#.#.#.#.#.###.#.###.#.#####.#.#.#######.#.#########.#.#.#.#########.####...#.......#.....#...#.....#...#...#.#.....#.......#.#.....#.....#...#...#...#...#...#.........#...######.#########.#####.#.#.#.#####.#####.#.#####.#####.#.###.#.###########.#.#.###.#.###.#######.###.##.#.#...#.#...#...#.....#.#...#...#.....#.#.....#...#...#.......#.#.....#.#.#.#...#...#.#.#.#...#.#.##.#.#####.###.###########.#############.#.###.###.###.#########.#.#.###.###.#####.#######.#.#.#.#.#.##.....#.....#.......#.............#.#...#.#.#.#.....#...#.....#.#...#.......#.............#...#.#.#.####.#####.###.#####.#########.#####.#.###.#.#####.###.#####.#.#.#.###.###.#####.###.#####.###.#.#.#.##.#.....#.........#.#...#...........#.#...#.....#.#.#.#...#.#.......#...#.....#.#...#.....#.#.#.#.#.##.#####.#.#.#.###.#.###.#####.#######.#######.#.#.#.###.#.###.#.###########.###.#####.#.#.#.#.#.#.#.##.....#.#.#.#...#.#.#...........#.#.....#.....#...#.....#...#.#.#.....#.............#.#.#.....#.#...####.#.#.#.#.#####.#####.###.###.#.#####.#.#####.###.###.#.#.#####.###.#######.#.#.#####.##############...#...#.#...#...#.#.#.#.....#.....#.....#.........#...#.#.#.....#...........#.#.#.........#...#...####.#.#.###.###.#.#.#.#####.#.#.#######.###########.###.#######.#.#######.###.#.#######.#####.#.#.####.#.#.#.#.....#.#.#.#...#...#.#.#...#...#...#.#.#...#.#.....#.#.#.......#...#.#.....#.....#...#.....##.#####.###.#####.#.#.#######.#####.#####.#.#.#.#####.#.###.#.#.#####.#.###.###########.#######.######...#.........#...........#.......#...#...#.#.#.#.#.#.....#...#.....#.#.#...#.....#.#...#.#.#.....#.##.#.#.###.###.#############.###.#.#.#.#####.#.#.#.#.#######.#####.#############.#.#.###.#.#.#.###.#.##.#.#.#.#.#...#...#.......#.#...#.#.#.#.#.#.....#.#.#.#.....#...#.........#.....#.........#.#.#.#...####.#.#.#########.#.#####.#####.###.###.#.#.#.#.#.#.#.###.#.###.#.#################.#######.###.#.####.....#...#.#.......#.#.#...#.#...#...#.....#.#.#...#.#.#.#.#...#...#.#...#.......#.....#...#.#.#...####.###.#.#.#######.#.#.###.#.#####.#####.###.#.###.#.#.#.#####.#.#.#.#.#.#.#.###.#.#######.#.#.#.####.......#...........#.......#...#.....#.#.#...#.#.#...#...........#.#...#.#.#.#.....#.#.#.#...#.....########.###########.#.#######.###.#.###.#######.#.###.#.###.#####.#####.#.#.#####.#.#.#.#.#.#.#.#.#.##.......#.#...#.#...#.#.....#...#.#.........#...#...#.#.#...#.......#...#.....#.#.#.#.#...#.#...#.#.##.###.###.#.#.#.#.#.#.###.###.#####.#######.#.###.###.#####.#####.###.#####.###.#####.#.#####.#.###.##...#...#.#.#...#.#.#.#.......#...#.#.......#.....#...#...#.....#...#...#...#.#...#.#.#.#...#.#...#.##.#.#####.#.###########.#########.###.#.#####.#.###.#.#.#########.###.#######.#.###.#.#.#.#######.####.#...#.....#.#.#.#...#...#.#.........#...#...#.#...#.....#.#.....#...#.#.....#.........#...#...#...####.#######.#.#.#.#.###.###.###.#.#.#####.###.#.###.#.#####.#.#.#######.###.#########.#.###.###.#.#.##.#...#.#.....#...#.....#.....#.#.#.#.#.#.....#.#...#.#.......#.#.....#.....#.....#.#.#...#.#.....#.##.#.###.###.###.###.#.#####.###.#####.#.#.#####.#####.#.#.#####.#.#.#.###.#.#.###.#.#.#.#.#.###.######...#.....#.......#.#.......#.........#.....#...#.#.#...#.#...#.#.#.#...#.#...#...#...#.#.#.......#.##.###.###.#.###.###.#.#.###.#####.#.#.#####.#.#.#.#.###.#####.#.#.#####.###.#####.###.###.#.#.###.#.##.#.#...#.#...#.#...#.#.#...#.#.#.#.#.#.....#.#...#.......#.#.....#.....#...#.....#.....#.#.#...#...##.#.#.###.#.#####.#.###.#.###.#.#####.#######.###.###.#####.#####.#######.#.#.#########.#.#.##########...#.#.....#...#.#.#...#...#...#...#.#.....#.#..L#...#...#.....#...#.....#.#.#.........#...#.......####.#.###.###.###.###.###.#.#.#.###.#.#.###.#########.#.#######.#.###.###.#####.#.#.###.#######.###.##.#.#...#.#...#...#...#...#.#.#.......#...#...#...#.......#...#.....#.#.......#.#.#.#.....#.......#.##.#.#####.#.#########.#.###.#.#.#####.#######.#.###.#####.###.#.#.#####.#######.#.###.#####.###.######.....#...............#.#.....#.#...#...........#.......#.....#.#.#...........#.#...#...#.#.#...#...##.###.###.#.###.#####.#############.#.#####.###.###.###.#########.#####.#############.###.###.#.###.##...#.....#...#...#.......#.#.#.#...#...#.#...#...#.#.........#.#.....#.#.#...#.....#.....#...#...#.######.#.#######.#######.#.#.#.#.###.###.#.###.#####.#####.#####.###.#.#.#.#.#####.###.#.#.#.#####.#.##.....#.#.....#.#.#...#.#.#.......#.......#.#.#.#.#...#.#.........#.#...............#.#.#.#.....#...####.###.#.#.#.###.###.#.#######.#######.###.###.#.###.#.#.#############.#.###.#.#####.###.#.##########.#.#...#.#.#.#.#.......#...#.......#...#.........#...#.......#.#.#.....#...#.#...#.....#.#.....#...##.#.###.#.#.###.###.#.#####.###.###########.#####.#########.#.#.#.###.#.#.#.#######.#.#.###.#.#.###.##...#.#...#...#.#...#...#.#...#...#.#.....#.#.....#.......#.#.#.......#.#.#.#.......#.#.....#.#.....######.#.###.#.#.#####.###.#.###.#.#.#.###.#####.#.#.###.#########.#######.###.###.#######.###.###.####.......#...#.......#.......#...#.#.#...#.#...#.#...#...#...#...#.#.....#.....#...#.......#.....#...##.#####.###########.###.###.#.#.###.#.#####.#.#######.#.#.###.#.#####.#.#.#####.###.#.#.#######.#.#.##.#.#.......#.....#.#...#.....#...........#.#.#.....#.#.....#.#.#.#.#.#.#.#.#.....#.#.#.#.#...#.#.#.####.#####.#####.#########.#######.#.###.#####.#.#.###.###.###.#.#.#.#.#.###.#.#.#.#.#####.#.###.######...........#...#.#...#.........#.#...#...#.#.#.#.....#.....#.#.#.#.#.#.......#.#.#.#.#.....#.#.#...######.#####.#.###.#.#############.#######.#.#.###.#.#.#####.###.#.#.###########.#####.#.#.#.#.#.#.#.##.........#...#.#.#.#...#.#.#.....#.........#.#...#.#.#...#...#.....#...#.....#.#...#...#.#...#...#.######.#######.#.#.#.###.#.#.###.#.#.###.#.###.###.#.###.#######.###.#.###.#.#####.###.#####.###.###.##.#.#.#.....#.#.............#...#.#...#.#...#...#.#.......#.#...#...#...#.#...#.....#.#.....#.#...#.##.#.#.###.###.#.#########.#.###.#.#####.#####.#.#.###.#.###.#####.###.#####.###.###########.#.###.####...........#.#.....#.#...#.#.#.#...#.#.#.....#.....#.#.........#.......#...#...#...#.....#.#.#.....########.#.###.###.###.#####.#.#####.#.#.###.#.#######.#######.###.#.###.#.###.#.#.#######.#.#.###.####.......#.#.#...#.....#...#...#.#.#...#.....#...#...#...#.....#.#.#.#.#...#...#...#.....#...........####.#######.#.#.#.###.###.###.#.#.#.#############.###.###.###.#.#.###.#.#.#######.#.#.###.#.#######.##.#.....#.....#...#.#...#...#...#.....#...#.....#.....#.#.#.........#.#.#.#.....#.#.#.#...#.#...#...##.#.#.#.###.#######.#####.#.###.#####.###.#.###.###.###.###.#######.#.###.###.#.#.#.###.###.#.###.####...#.#.#.#.#...#.....#...#.......#.#...#.#.#.#...........#.#.....#...#.....#.#.......#.#...#...#.#.##.#.#.###.#.#.#.#####.#.#.#.#.###.#.#####.###.#.#.#.#######.###.###########.#####.###########.###.#.##.#.#.#...#...#.#.....#.#.#.#.#.#.#...#...#.....#.#.....#...#.........#.....#.........#.........#...######.#.#.#.#.#####.###.###.###.#####.#.###.#######.#.###.###.#.#.#.###########.#.#######.#.#.#.#.#.##.....#.#...#...#.....#.#...#...#...#...........#...#.#.....#.#.#.#.#.#.#.......#.....#...#.#.#.#.#.##.#.###.#######.#.###########.#####.#.###.#.###.###.#####.#.#####.###.#.#.#.###.###.#####.#########.##.#...#...#...#...#.....#.#.....#...#.#...#...#...#.#...#.#.......#.#.....#.#.....#...#.....#...#...############.###.#######.#.###.#####.#################.#####.#.###.#.#.#########.###.#.###.###.#.###.##.........#.......#...#.....#.....#.......#.#.#.#...#.......#.#.#...#.#.#.........#.#.........#.....##.#########.#####.###.#.#####.###.#.###.#.#.#.#.###.#####.#####.###.#.#.#########.#.#####.#.#.###.####.#...#.........#...#.....#.#.#.......#.#.#...........#.#.#.......#...#.#...#...#.#.#...#.#.#.#.....##.#.###.###.#####.###.#.###.#.###.#.#######.#.#.#######.#######.###.#.#.###.#.#.#.###.#.#.#.#.#####.##.#.#...#...#.#.......#.........#.#...#...#.#.#...#.#.............#.#...#...#.#.....#.#...#.#.....#.##.#.#.#######.#.#######.###.#######.###.###.#.###.#.#.#######.#.#####.###.#.#############.#.#######.##...#.#.......#.#.......#.#...#...........#.#.#.#...#...#.#...#...#.#.#.#.#.#...#.....#...#.#...#...####.#.#######.###.#.#####.#.#######.###.#.###.#.#.#######.#####.###.#.#.###.###.###.#######.###.#.####...........#.#...#...#...#...#.#.#.#...#.....#.#.......#.#...#.......#.....#.#...#.#.....#.#.#.#.#.######.#####.#.###.###.#.###.###.#.#######.#####.###.###.#.#.#.#####.###.###.#.###.#.#.###.###.#.#.#.##.#.#.#.....#.......#.....#...#.....#...#.......#...#.......#.#.#...#...#...#.#.#...#.#...#.#.......##.#.###.#.#.#.#####.#####.#.#####.###.###.#.#.#######.#.#####.#.#######.###.#.#.#.###.###.#.###.###.##...#...#.#.#.....#.....#.#.#...........#.#.#.#.#...#.#...#.......#.......#...........#...........#.##.###.###.#.#########.#.#######.#.###.#.###.#.#.#.#.#########.###.#.#.#########.###.#######.###.#.####.....#...#...#.....#.#...#.#...#...#.#.#.#.#.#...#.#...#.....#.#.#.#.....#.#...#.......#.#.#...#.#.##.#####.#####.#.###########.#.#####.#.#.#.###.#.#######.###.###.#.#.#.###.#.#.#####.#.#.#.#######.#.##.#.....#.#.#.#.....#.#.........#...#.#.#...#.......#...#.#.#.....#.#.#...#.#...#...#.#.#.#.#...#...####.#.#.#.#.#######.#.#####.###.#.#.#.###.#######.#####.#.###.#####.#####.#.#########.#.#.#.#.###.#.##.#.#.#.........#.#...........#.#.#.#.#.#...#.....#...#...#.#.#.....#.....#.....#.....#.....#.#...#.##.#####.#.#####.#.###.###.###.#######.#.#.#.#.#.#.#.#####.#.#.###.###.#####.###.#.###.#####.#.#.###.##.......#.#.........#.#...#.....#.........#...#.#...#...........#...#.....#...#...#...#.....#.....#.######################################################################################################';\r\nms=reshape(s14,101,101)';\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\n%for i=1:nr % Display maze numeric\r\n% fprintf('%i',m(i,:));fprintf('\\n');\r\n%end\r\n\r\nztic=tic;\r\nv = crawler_fill(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=10000 % Lambda11 crawler\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=10000 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n %for i=1:nr % Display maze numeric\r\n % fprintf('%i',mc(i,:));fprintf('\\n');\r\n %end\r\nend\r\n\r\nassert(valid)\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-17T16:27:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-16T04:45:04.000Z","updated_at":"2025-12-11T05:42:01.000Z","published_at":"2024-07-16T05:31:31.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eShown is Lambdaman4 with a best known solution is 348 U/R/D/L commands by completing the lower left before lower right. This challenge uses a Crawler-Backfill method thus optimal solutions not found but big puzzles can be completed quickly if paths are width==1 and there are no loops.\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=\\\"420\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"560\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve multiple Lamdaman mazes by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a crawler-backfill   This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length. The challenge is to make a smaller crawler.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60618,"title":"ICFP2024 005: Lambdaman 1, 2, 3","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\r\n\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\nThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.","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: 315px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 157.5px; transform-origin: 407px 157.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 356.5px 8px; transform-origin: 356.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 332px 8px; transform-origin: 332px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [pathbest]=Lambdaman_123(m)\r\n Lmax=Inf;\r\n %m  % Wall0 Lambda1 Cheese2 Eaten3\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr]; % using index requires a wall ring around maze\r\n \r\n pathn=''; %UDLR\r\n ztic=tic;tmax=35; %Recursion time limit\r\n Lbest=inf;\r\n pathbest='';\r\n mstate=m(:)'; % recursion performs maze state checks to avoid dupolication\r\n mstaten=mstate;\r\n L=0;\r\n mn=m;\r\n Lidxn=find(m==1);\r\n [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L, ...\r\n   pathn,mn,Lidxn,mstaten,Lmax); %use VARn for recursion updates\r\n\r\n toc(ztic)\r\nend %Lambda_123\r\n\r\nfunction [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L, ...\r\n  path,m,Lidx,mstate,Lmax)\r\n\r\n%Conditional recursion aborts\r\n if toc(ztic)\u003etmax,return;end %Recursion time-out\r\n if L\u003eLmax,return;end % Limit recursion trials to known Lmax\r\n if L\u003e=Lbest,return;end % Bail on long solutions\r\n \r\n m(Lidx)=3;\r\n if nnz(m==2)==0 % Solution case. Better solution found\r\n  Lbest=L;\r\n  pathbest=path;\r\n  toc(ztic)\r\n  fprintf('Lbest=%i ',Lbest);fprintf('Path=%s',pathbest);fprintf('\\n\\n');\r\n  return;\r\n end\r\n \r\n UDLR='UDLR';\r\n \r\n mn=m;\r\n Cadj=m(adj+Lidx);\r\n for i=1:4 % UDLR\r\n  if Cadj(i)\u003e0 % Ignore into wall Cadj==0 movement\r\n   Lidxn=Lidx+adj(i);\r\n   mn(Lidxn)=1;\r\n   mn_state=mn(:)';\r\n   \r\n   if nnz(sum(abs(mstate-mn_state),2)==0) % Pre-exist state check\r\n    mn(Lidxn)=m(Lidxn); % Reset mn\r\n    continue; %Abort when create an existing prior state\r\n   end\r\n   \r\n   mstaten=[mstate;mn_state]; % When update walls re-init mstate\r\n   pathn=[path UDLR(i)];\r\n   \r\n   [pathbest,Lbest]=maze_rec(ztic,tmax,adj,pathbest,Lbest,L+1, ...\r\n     pathn,mn,Lidxn,mstaten,Lmax);\r\n   \r\n   mn(Lidxn)=m(Lidxn); % reset mn in fastest way\r\n  end\r\n end % for UDLR\r\nend %maze_rec","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 1  optimal solution L15 LLLDURRRUDRRURR\r\nms=['###.#...'\r\n    '...L..##'\r\n    '.#######'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26 RDURRDDRRUUDDLLLDLLDDRRRUR\r\nms=['L...#.'\r\n    '#.#.#.'\r\n    '##....'\r\n    '...###'\r\n    '.##..#'\r\n    '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 3  optimal solution L40 DRDRLLLUDLLUURURLLURLUURRDRDRDRDUUUULDLU\r\nms=[  '......'\r\n      '.#....'\r\n      '..#...'\r\n      '...#..'\r\n      '..#L#.'\r\n      '.#...#'\r\n      '......'];\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nv = Lambdaman_123(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-13T05:35:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-13T05:05:28.000Z","updated_at":"2026-03-11T09:46:10.000Z","published_at":"2024-07-13T05:35:58.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a near brute force recursion with a time limit. Optimal solutions are not required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47325,"title":"Find Logic 18","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 18\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 17\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value  according to problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 2;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 5;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 2;\r\ny_correct = 8;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":585,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T16:32:47.000Z","updated_at":"2026-02-14T06:51:25.000Z","published_at":"2020-11-05T16:32:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 2\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\u003elogic(1,2) = 5\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\u003elogic(2,1) = 5\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\u003elogic(3,1) = 10\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\u003elogic(3,3) = 18\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\u003elogic(4,1) = 17\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\u003eMake a function logic(a,b) which will return value  according to problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47255,"title":"Find Logic 8","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) =  3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 0;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 8;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 24\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":467,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T07:53:36.000Z","updated_at":"2026-02-14T07:11:40.000Z","published_at":"2020-11-04T07:53:36.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) =  3\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\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 15\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47395,"title":"Find Logic 27","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 230.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 115.31px; transform-origin: 174px 115.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 1;\r\ny_correct = 5;\r\nassert(isequal(logic(b,a),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 2;\r\ny_correct = 7;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 4;\r\nb = 1;\r\ny_correct = 9;\r\nassert(isequal(logic(b,a),y_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":241,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-07T03:27:02.000Z","updated_at":"2026-02-14T13:47:17.000Z","published_at":"2020-11-07T03:27:02.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 3\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\u003elogic(1,3) = 7\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\u003elogic(2,2) = 6\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\u003elogic(2,3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,1) = 5\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\u003elogic(3,2) = 7\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\u003elogic(3,3) = 9\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":52308,"title":"ICFP2021 Hole-In-Wall: Calculate Score","description":"The ICFP held its annual 3-day contest in July 2021 with Hole-In-Wall. Contest Specification.\r\nThe contest folds the figure in Red to fit within the hole shown in light grey \r\nThis Challenge is to evaluate the Score defined in the Specification when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\r\nScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\r\nThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\r\nThe ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use Register Team. Anyone can select Problems Page and then click problem numbers to see the puzzles and to download problem files.\r\nThe ICFP Contests page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. ICFP2019 Results Youtube gives a summary of this 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: 591px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 295.5px; transform-origin: 407px 295.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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP\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: 148.5px 8px; transform-origin: 148.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e held its annual 3-day contest in July 2021 with \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eHole-In-Wall\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: 30.5px 8px; transform-origin: 30.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Contest \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/spec-v4.1.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpecification\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 234px; 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 117px; text-align: left; transform-origin: 384px 117px; 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: 234px 8px; transform-origin: 234px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest folds the figure in Red to fit within the hole shown in light grey \u003c/span\u003e\u003c/span\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 231px;height: 234px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"231\" height=\"234\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 171px 8px; transform-origin: 171px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is to evaluate the Score defined in the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2021.github.io/spec-v4.1.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpecification\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: 173px 8px; transform-origin: 173px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\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: 349px 8px; transform-origin: 349px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\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: 314px 8px; transform-origin: 314px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://poses.live/register\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eRegister Team\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: 43.5px 8px; transform-origin: 43.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Anyone can select \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://poses.live/problems\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eProblems Page\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: 259px 8px; transform-origin: 259px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and then click problem numbers to see the puzzles and to download problem 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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/contest.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Contests\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: 303px 8px; transform-origin: 303px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=J1PzFKK0LOQ\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"perspective-origin: 85px 8px; transform-origin: 85px 8px; \"\u003eICFP2019 Results Youtube\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: 103px 8px; transform-origin: 103px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e gives a summary of this contest.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function score = calc_score(hxy,pxy)\r\n % hxy has a duplicate non-scoring vertex in its final row\r\n  score=-1;\r\nend","test_suite":"%%\r\nhxy=[53 0;100 22;66 68;43 68;0 41;53 0];\r\npxy=[0    41\r\n    16    36\r\n    20    39\r\n    37    41\r\n    40    53\r\n    43    68\r\n    53     0\r\n    54    58\r\n    54    63\r\n    66    68\r\n    69    53\r\n    71    41\r\n   100    22];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=0;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))\r\n%%\r\nhxy=[55   80\r\n    65    95\r\n    95    95\r\n    35     5\r\n     5     5\r\n    35    50\r\n     5    95\r\n    35    95\r\n    45    80\r\n    55    80];\r\npxy=[21    11\r\n    24    21\r\n    15    93\r\n    45    27\r\n    33    41\r\n    40    72\r\n    25    91\r\n    53    34\r\n    35    30\r\n    43    37\r\n    50    77\r\n    52    44\r\n    33    41\r\n    42    47\r\n    36    52\r\n    60    73\r\n    75    91\r\n    85    93\r\n    56    49\r\n    56    59];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=1037;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))\r\n%%\r\nhxy=[55    80\r\n    65    95\r\n    95    95\r\n    35     5\r\n     5     5\r\n    35    50\r\n     5    95\r\n    35    95\r\n    45    80\r\n    55    80];\r\npxy=[21    28\r\n    31    28\r\n    31    87\r\n    29    41\r\n    44    43\r\n    58    70\r\n    38    79\r\n    32    31\r\n    36    50\r\n    39    40\r\n    66    77\r\n    42    29\r\n    46    49\r\n    49    38\r\n    39    57\r\n    69    66\r\n    41    70\r\n    39    60\r\n    42    25\r\n    40    35];\r\nscore=calc_score(hxy,pxy);\r\nexpscore=3704;\r\nfprintf('Expected Score: %i  Score: %i\\n',expscore,score);\r\nassert(isequal(score,expscore))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-07-16T20:18:21.000Z","updated_at":"2025-12-10T04:26:53.000Z","published_at":"2021-07-16T22:55:02.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.icfpconference.org/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e held its annual 3-day contest in July 2021 with \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHole-In-Wall\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Contest \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/spec-v4.1.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpecification\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe contest folds the figure in Red to fit within the hole shown in light grey \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"234\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"231\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to evaluate the Score defined in the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2021.github.io/spec-v4.1.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpecification\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e when given the hole vertices in hxy and figure vertices in pxy. The hxy matrix is [N+1,2] where N is number of hole vertices. A repeat of the first vertex occurs for drawing the hole.  The pxy matrix is [P,2] where P is the number of figure vertices. The pxy matrix will be valid and fit within the hole.\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\u003eScore can be summarized as the sum of minimum square distances to the figure from each unique hole vertex. Score=calc_score(hxy,pxy)\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\u003eThese types of contests like to avoid non-integer calculations thus the distance squared calculation.\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 ICFP 2021 Hole In Wall contest site has enabled a public user login to allow submissions. A login must be created to access all the problems and to submit solutions. Solutions are simple text files. Other challenges will show reading files, drawing figures, and producing submission files. To fully access the ICFP/Problems site use \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://poses.live/register\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRegister Team\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Anyone can select \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://poses.live/problems\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblems Page\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and then click problem numbers to see the puzzles and to download problem 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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.icfpconference.org/contest.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Contests\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e page shows the annual contests back to 1998.  The 2019 contest can be processed by Matlab. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=J1PzFKK0LOQ\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2019 Results Youtube\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e gives a summary of this contest.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60593,"title":"ICFP2024 002: Lambdaman 9","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe puzzle was given in ICFP to produce the maze text string. \r\nB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"  in this language F=\u003eL, l=\u003e., ~=\u003eLineFeed, IR means Integer 49, IS is 50\r\nThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\r\nThe contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\r\nB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u003e B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u003e\r\n\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\r\n\r\nAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.","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: 579px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 289.5px; transform-origin: 407px 289.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 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: 339px 8px; transform-origin: 339px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 195px 8px; transform-origin: 195px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe puzzle was given in ICFP to produce the maze text string. \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: 380px 8px; transform-origin: 380px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"  in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, IR means Integer 49, IS is 50\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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: 350px 8px; transform-origin: 350px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\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: 287px 8px; transform-origin: 287px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u0026gt; B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u0026gt;\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 364px 8px; transform-origin: 364px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman9(m)\r\n% m is a maze where 2 is cheese to eat, 1 is Lambdaman the token being moved, \r\n% 0 is a wall\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman9 is a string of about 2499 RDLU characters\r\n%Answers may vary if doing rows or columns first\r\n v='R';\r\nend\r\n\r\n%Lambdaman 9 ICFP dataset and optimal solution\r\n%{\r\nMaze\r\nhttps://github.com/codingteam/icfpc-2024/blob/master/data/lambdaman/lambdaman9.glx\r\nB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\" B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L$ L# ? B= v# I\" v\" B. v\" B$ v$ B- v# I\"\r\n\r\nSolution\r\nhttps://github.com/codingteam/icfpc-2024/blob/master/data/lambdaman/lambdaman9.sol.glx\r\nB. S3/,6%},!-\"$!-!.^} B$ B$ L! L\" B$ v! B$ v! B$ v! B$ v! B$ v! v\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u003e B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u003e\r\n\r\n\r\n%}\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}","test_suite":"%%\r\nvalid=0;\r\nm=ones(50)*2; %Cheese bits are 2.  Walls will be 0 but none in this case.\r\nm(1)=1;  %Lambdaman is 1\r\n\r\nv = Lambdaman9(m);\r\nfprintf('Answer Length: %i\\n',length(v))\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\nr=1;c=1;  % Limit is 50,50 for Lambdaman9 starts at (1,1)\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  c=min(c+1,50);\r\n elseif v(i)=='L' % L\r\n  c=max(c-1,1);\r\n elseif v(i)=='U' % U\r\n  r=max(r-1,1);\r\n elseif v(i)=='D' % D\r\n  r=min(r+1,50);\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nend\r\n%mc\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\nL.................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n..................................................\r\n%}\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-09T20:42:07.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-09T17:08:10.000Z","updated_at":"2025-12-03T18:41:13.000Z","published_at":"2024-07-09T20:42:07.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 9 maze is a 50x50 matrix L at index 1. All points are '.' a cheese bit. Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 puzzle was given in ICFP to produce the maze text string. \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\u003eB$ L+ B. B. SF B$ B$ v+ Sl IR B$ B$ v+ B. S~ B$ B$ v+ Sl IS IR L\\\" B$ L\\\" B$ L# B$ v\\\" B$ v# v# L# B$ v\\\" B$ v# v# L$ L# ? B= v# I\\\" v\\\" B. v\\\" B$ v$ B- v# I\\\"  in this language F=\u0026gt;L, l=\u0026gt;., ~=\u0026gt;LineFeed, IR means Integer 49, IS is 50\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 full ICFP language is a comment block in the function template. This is written as a Functional Program which appears is best addressed in Haskell.\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 contest's best Lambdaman9 solution was written in ICFP to reduce length versus 2500 U/R/D/L commands.\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\u003eB. S3/,6%},!-\\\"$!-!.^} B$ B$ L! L\\\" B$ v! B$ v! B$ v! B$ v! B$ v! v\\\" L! B. v! v! B. B$ L! B. v! v! SLLLLLLLLLLLLLLLLLLLLLLLLL B. S\u0026gt; B. B$ L! B. v! v! SFFFFFFFFFFFFFFFFFFFFFFFFF S\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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\u003eSadly Cody years ago eliminated the ability for creators to evaluate scores based on time, body size, error, or other parameters due to cheaters.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs of 7/9/24 I still can not make either an ICFP reader or writer beyond a simple string converter. If anyone is able to make an interpreter please post in the comment. I had never heard of Lambda Calculus or Haskell prior to this event. Contest write-ups said they took up to 10 hours to make a working ICFP reader. I will be posting the entire ICFP2024 contest challenges and best solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1098,"title":"USC Fall 2012 ACM : Code Word Minimum Flipped Bits","description":"This Challenge is to solve Question A of the \u003chttp://contest.usc.edu/index.php/Fall12/Home USC ACM Fall 2012 Contest\u003e.\r\n\r\nGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\r\n\r\n\r\nInput: [ M, v ]\r\n\r\nOutput: e, minimum number of error(flipped) bits\r\n.\r\n\r\nFrom full \u003chttp://contest.usc.edu/index.php/Fall12/Home?action=download\u0026upname=codes.in.txt USC data file\u003e\r\n\r\nInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\r\n\r\nOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\r\n\r\nMatlab one-liner?\r\n\r\nThe Winning C solution - not much help:\r\n\r\n  #include \u003ciostream\u003e\r\n  #include \u003cstdio.h\u003e\r\n  #include \u003cstring\u003e\r\n  using namespace std;\r\n  int main () {\r\n  \tfreopen(\"codes.in\", \"r\", stdin);\r\n  \tint K,n,b;\r\n  \tcin \u003e\u003e K;\r\n  \tfor (int i = 1; i \u003c K + 1; ++i) {\r\n  \t\tcin \u003e\u003e n \u003e\u003e b;\r\n  \t\tstring m[1000], r;\r\n  \t\tfor (int j = 0; j \u003c n; ++j)\r\n  \t\t\tcin \u003e\u003e m[j];\r\n  \t\tcin \u003e\u003e r;\r\n% Process Start\t\t\r\n  \t\tint f = b;\r\n  \t\tfor (int j = 0; j \u003c n; ++j) {\r\n  \t\t\tint d = b;\r\n  \t\t\tfor (int k = 0; k \u003c b; ++k) {\r\n  \t\t\t\tif (m[j][k] == r[k])\r\n  \t\t\t\t\t--d;\r\n  \t\t\t}\r\n  \t\t\tf = ((f \u003c= d) ? f : d);\r\n  \t\t}\r\n % Process End \r\n  \t\tprintf(\"Data Set %d:\\n\", i);\r\n  \t\tprintf(\"%d\\n\\n\", f);\r\n  \t}\r\n  \treturn 0;\r\n  }\r\n  ","description_html":"\u003cp\u003eThis Challenge is to solve Question A of the \u003ca href=\"http://contest.usc.edu/index.php/Fall12/Home\"\u003eUSC ACM Fall 2012 Contest\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\u003c/p\u003e\u003cp\u003eInput: [ M, v ]\u003c/p\u003e\u003cp\u003eOutput: e, minimum number of error(flipped) bits\r\n.\u003c/p\u003e\u003cp\u003eFrom full \u003ca href=\"http://contest.usc.edu/index.php/Fall12/Home?action=download\u0026amp;upname=codes.in.txt\"\u003eUSC data file\u003c/a\u003e\u003c/p\u003e\u003cp\u003eInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\u003c/p\u003e\u003cp\u003eOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\u003c/p\u003e\u003cp\u003eMatlab one-liner?\u003c/p\u003e\u003cp\u003eThe Winning C solution - not much help:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e#include \u0026lt;iostream\u003e\r\n#include \u0026lt;stdio.h\u003e\r\n#include \u0026lt;string\u003e\r\nusing namespace std;\r\nint main () {\r\n\tfreopen(\"codes.in\", \"r\", stdin);\r\n\tint K,n,b;\r\n\tcin \u003e\u003e K;\r\n\tfor (int i = 1; i \u0026lt; K + 1; ++i) {\r\n\t\tcin \u003e\u003e n \u003e\u003e b;\r\n\t\tstring m[1000], r;\r\n\t\tfor (int j = 0; j \u0026lt; n; ++j)\r\n\t\t\tcin \u003e\u003e m[j];\r\n\t\tcin \u003e\u003e r;\r\n% Process Start\t\t\r\n\t\tint f = b;\r\n\t\tfor (int j = 0; j \u0026lt; n; ++j) {\r\n\t\t\tint d = b;\r\n\t\t\tfor (int k = 0; k \u0026lt; b; ++k) {\r\n\t\t\t\tif (m[j][k] == r[k])\r\n\t\t\t\t\t--d;\r\n\t\t\t}\r\n\t\t\tf = ((f \u0026lt;= d) ? f : d);\r\n\t\t}\r\n% Process End \r\n\t\tprintf(\"Data Set %d:\\n\", i);\r\n\t\tprintf(\"%d\\n\\n\", f);\r\n\t}\r\n\treturn 0;\r\n}\r\n\u003c/pre\u003e","function_template":"function f = USC_No_1(M,v)\r\n  f=0;\r\nend","test_suite":"%%\r\ntic\r\nurlfn='http://contest.usc.edu/index.php/Fall12/Home?action=download\u0026upname=codes.in.txt';\r\nurlwrite(urlfn,'codesin_A.txt'); % Load file from USC\r\ntoc\r\n%%\r\n flip_correct=[1 0 0 54 1 29 37 32 33 32 39 8 0 0 36 36 35];\r\n\r\n fid=fopen('codesin_A.txt','r');\r\n\r\n qty=fscanf(fid,'%i',1);\r\n for ptr=1:qty\r\n  nr=fscanf(fid,'%i',1);\r\n  nc=fscanf(fid,'%i',1);\r\n \r\n  A=zeros(nr,nc);\r\n  for i=1:nr\r\n   strv=fscanf(fid,'%s',1); % Reads a line of text\r\n   A(i,:)=strv-'0'; % vectorize the string\r\n  end\r\n \r\n  strv=fscanf(fid,'%s',1);\r\n  v=strv-'0';\r\n\r\n  USC_flips = USC_No_1(A,v);\r\n\r\n  assert(isequal(USC_flips,flip_correct(ptr)))\r\n \r\n end\r\n fclose(fid);\r\n \r\ntoc\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-12-06T02:14:30.000Z","updated_at":"2024-11-05T12:53:23.000Z","published_at":"2012-12-06T02:40:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to solve Question A of the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://contest.usc.edu/index.php/Fall12/Home\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUSC ACM Fall 2012 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\u003eGiven an array M of Valid binary codewords(m codewords of width n) and a Received Corrupted(?) codeword of width n, determine the minimum number of flipped bits in the Received codeword to generate a valid codeword.\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\u003eInput: [ M, v ]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: e, minimum number of error(flipped) bits .\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\u003eFrom full\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://contest.usc.edu/index.php/Fall12/Home?action=download\u0026amp;upname=codes.in.txt\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUSC data file\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eInput: [0 0 0; 1 1 1; 1 1 0], [0 1 0]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: 1 as [0 1 0] can convert to [0 0 0] or [1 1 0] with a single flip\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\u003eMatlab one-liner?\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 Winning C solution - not much help:\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[#include \u003ciostream\u003e\\n#include \u003cstdio.h\u003e\\n#include \u003cstring\u003e\\nusing namespace std;\\nint main () {\\n  freopen(\\\"codes.in\\\", \\\"r\\\", stdin);\\n  int K,n,b;\\n  cin \u003e\u003e K;\\n  for (int i = 1; i \u003c K + 1; ++i) {\\n    cin \u003e\u003e n \u003e\u003e b;\\n    string m[1000], r;\\n    for (int j = 0; j \u003c n; ++j)\\n      cin \u003e\u003e m[j];\\n    cin \u003e\u003e r;\\n% Process Start    \\n    int f = b;\\n    for (int j = 0; j \u003c n; ++j) {\\n      int d = b;\\n      for (int k = 0; k \u003c b; ++k) {\\n        if (m[j][k] == r[k])\\n          --d;\\n      }\\n      f = ((f \u003c= d) ? f : d);\\n    }\\n% Process End \\n    printf(\\\"Data Set %d:\\\\n\\\", i);\\n    printf(\\\"%d\\\\n\\\\n\\\", f);\\n  }\\n  return 0;\\n}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":1161,"title":"Binpack Contest: Retro","description":"The \u003chttp://www.mathworks.com/matlabcentral/contest/contests/3/rules Full Binpack Rules and examples\u003e.\r\n\r\nThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\r\n\r\nBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\r\n\r\n*Input:* [songList, mediaLength]\r\n\r\n*Output:* indexList\r\n\r\n*Example:*\r\n\r\nInput:  [ 0.5 2 3 1.5 4], [5.6]\r\n\r\nOutput: [4 5]  as 1.5+4 is very near and below 5.6.\r\n\r\nThe answer of [1 2 3] is also valid and also gives 5.5.\r\n\r\n*Scoring:* 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a time)\r\n\r\n\r\n*Warning:* Matlab 2013B may produce time slowing error messages versus 1998 code.\r\n\r\n","description_html":"\u003cp\u003eThe \u003ca href=\"http://www.mathworks.com/matlabcentral/contest/contests/3/rules\"\u003eFull Binpack Rules and examples\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\u003c/p\u003e\u003cp\u003eBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [songList, mediaLength]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e indexList\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eInput:  [ 0.5 2 3 1.5 4], [5.6]\u003c/p\u003e\u003cp\u003eOutput: [4 5]  as 1.5+4 is very near and below 5.6.\u003c/p\u003e\u003cp\u003eThe answer of [1 2 3] is also valid and also gives 5.5.\u003c/p\u003e\u003cp\u003e\u003cb\u003eScoring:\u003c/b\u003e 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a time)\u003c/p\u003e\u003cp\u003e\u003cb\u003eWarning:\u003c/b\u003e Matlab 2013B may produce time slowing error messages versus 1998 code.\u003c/p\u003e","function_template":"function indexList = binpack(songList,mediaLength) ;\r\n  indexList=[];\r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',100);\r\n%%\r\na{1} = [4.3078    2.5481    1.4903    5.4302    3.4142    2.9736    3.3768 ...\r\n        2.1612    3.3024    0.3269    2.6761    4.2530    2.6648    1.9644 ...\r\n        3.3389    22.122    4.1015    3.2104    2.3945    4.7151];\r\na{2} = [1.2671    3.1377    4.0687    4.1459    3.6469    6.1881    8.2452 ...\r\n        7.3962    9.7071   10.4798   11.4082   12.2282   12.6320   13.9705 ...\r\n        13.8851   15.6195   17.0187   18.5778   18.4140   20.0473];\r\na{3} = [1.6283    6.0703    8.1323    2.6226    3.1230    3.0081    6.1405 ...\r\n        1.1896    4.2769    5.0951    6.4869    3.9215    2.5858    4.7130 ...\r\n        4.5529];\r\na{4} = [40:-1:1]+.1;\r\na{5} = [1.0979    3.5540    1.8627    0.0849    3.2110    3.6466    4.8065 ...\r\n        3.2717    0.1336    2.5008    0.4508    3.0700    3.1658    0.8683 ...\r\n        3.5533    3.7528    2.7802    4.2016    1.6372    9.6254    1.3264 ...\r\n        0.3160    4.3212    3.0192    0.7744    2.3970    1.7416    2.4751 ...\r\n        1.0470    1.9091];\r\na{6} = [1 1 2 3 5 8 13 21 34]+.1;\r\na{7} = [0.8651    3.3312    0.2507    0.5754    2.2929    2.3818    2.3783 ...\r\n        0.0753    0.6546    0.3493    0.3734    1.4516    1.1766    4.3664 ...\r\n        0.2728    20.279    2.1335    0.1186    0.1913    1.6647    0.5888 ...\r\n        2.6724    1.4286    3.2471    1.3836    1.7160    2.5080    3.1875 ...\r\n        2.8819    1.1423    0.7998    1.3800    1.6312    1.4238    2.5805 ...\r\n        1.3372    2.3817    2.4049    0.0396    0.3134];\r\na{8} = [pi*ones(1,10) exp(1)*ones(1,10)];\r\na{9} = [1.6041    0.2573    1.0565    1.4151    0.8051    0.5287    0.2193 ...\r\n        0.9219    2.1707    0.0592    1.0106    0.6145    0.5077    1.6924 ...\r\n        0.5913    0.6436    0.3803    1.0091    0.0195    0.0482    20.000 ...\r\n        0.3179    1.0950    1.8740    0.4282    0.8956    0.7310    0.5779 ...\r\n        0.0403    0.6771    0.5689    0.2556    0.3775    0.2959    1.4751 ...\r\n        0.2340    8.1184    0.3148    1.4435    0.3510    0.6232    0.7990 ...\r\n        0.9409    0.9921    0.2120    0.2379    1.0078    0.7420    1.0823 ...\r\n        0.1315];\r\na{10}= [1.6041    0.2573    1.0565    1.4151    0.8051    0.5287    0.2193 ...\r\n        0.9219    2.1707    0.0592    1.0106    0.6145    0.5077    1.6924 ...\r\n        0.5913    0.6436    0.3803    10.091    0.0195    0.0482    20.000 ...\r\n        0.3179    1.0950    1.8740    44.999    0.8956    0.7310    0.5779 ...\r\n        0.0403    0.6771    0.5689    0.2556    0.3775    0.2959    1.4751 ...\r\n        0.2340    0.1184    0.3148    1.4435    0.3510    0.6232    0.7990 ...\r\n        0.9409    0.9921    0.2120    0.2379    1.0078    0.7420    1.0823 ...\r\n        0.1315];\r\na{11}= [40*ones(1,50) ones(1,20)]+0.05;\r\na{12}= 4.3 + sin(1:100);\r\n\r\nmediaLength=45;\r\n\r\nfor j=1:20 % warm-up\r\nfor i=1:12\r\n   songList=a{i};\r\n   indexList = binpack(songList,mediaLength) ;\r\nend\r\nend\r\n\r\n\r\nnet_gap=0;\r\nt0=clock;\r\nfor j=1:100\r\nfor i=1:12\r\n   songList=a{i};\r\n   indexList = binpack(songList,mediaLength) ;\r\n   indexList=unique(indexList); % No dupes\r\n   total(i)=sum(songList(indexList));\r\n   if total(i)\u003e45+1.5*eps(mediaLength) % Rqmt \u003c= 45\r\n    total(i)=-Inf;\r\n   end\r\n   net_gap=net_gap+45-total(i) ;\r\nend\r\nend\r\ntte=etime(clock,t0);\r\nfprintf('Total Time E %f\\n',tte)\r\nfprintf('Totals: ');fprintf('%.4f  ',total);fprintf('\\n')\r\nfprintf('Net Gap: %.2f\\n',net_gap)\r\n%format long\r\nfprintf('Performance: %.4f\\n',net_gap/(12*45))\r\nfprintf('Score=150*net_gap/(12*45)+3*time: %.3f\\n',150*net_gap/(12*45)+tte*3)\r\n\r\nScore=150*net_gap/(12*45)+tte*3;\r\n\r\nassert(Score\u003cInf)\r\n\r\n\r\nfeval( @assignin,'caller','score',floor(min( 100,Score )) );\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-01-02T05:26:53.000Z","updated_at":"2026-03-16T11:34:27.000Z","published_at":"2013-01-02T05:58:44.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\u003eThe\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/3/rules\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFull Binpack Rules and examples\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\u003eThis Challenge is a replay opportunity of the First Matlab Contest, 1998 BinPack.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBrief Challenge statement: Pack a 45(mediaLength) minute CD as maximally as possible given a list of songs of varying lengths. No penalty for unused songs. No song duplication allowed. Return the indices of the songs used.\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 [songList, mediaLength]\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 indexList\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:\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\u003eInput: [ 0.5 2 3 1.5 4], [5.6]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: [4 5] as 1.5+4 is very near and below 5.6.\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 answer of [1 2 3] is also valid and also gives 5.5.\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\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 150*Gap/(12*45)+Time*3 (cases are repeated 100 times to get a 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eWarning:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Matlab 2013B may produce time slowing error messages versus 1998 code.\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":47355,"title":"Find Logic 22","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(a,b) which will return value according to this logic.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 1;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 2;\r\ny_correct = 6;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\nassert(isequal(logic(a,b),10))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":295,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T10:50:57.000Z","updated_at":"2026-03-22T08:08:54.000Z","published_at":"2020-11-06T10:50:57.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 2\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\u003elogic(1,2) = 3\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\u003elogic(2,1) = 5\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\u003elogic(2,2) = 6\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\u003elogic(1,3) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,4) = 5\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\u003elogic(3,1) = 10\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\u003eMake a function logic(a,b) which will return value according to this logic.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47265,"title":"Find Logic 10","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 120\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 60\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 20\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 120;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 60;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx=5;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":415,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T08:47:44.000Z","updated_at":"2026-02-14T07:05:44.000Z","published_at":"2020-11-04T08:47:44.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 120\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\u003elogic(2) = 60\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\u003elogic(3) = 20\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\u003elogic(4) = 5\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47375,"title":"Find Logic 26","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 320.476px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 160.238px; transform-origin: 174px 160.238px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,0) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = -3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = -5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,1) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3,3) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,1) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4,2) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = a;\r\nend","test_suite":"%%\r\na = 2;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 1;\r\ny_correct = 8;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 4;\r\nb = 2;\r\ny_correct = 12;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 6;\r\nb = 3;\r\ny_correct = 27;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":240,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T14:14:22.000Z","updated_at":"2026-02-14T13:46:26.000Z","published_at":"2020-11-06T14:14:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,0) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,2) = -3\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\u003elogic(2,2) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2,3) = -5\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\u003elogic(3,1) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3,2) = 5\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\u003elogic(3,3) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4,1) = 15\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\u003elogic(4,2) = 12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47239,"title":"Find Logic 5","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 14\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which returns 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 20;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 44;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":67,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T16:42:59.000Z","updated_at":"2026-03-16T11:57:14.000Z","published_at":"2020-11-03T16:42:59.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic\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\u003elogic(1) = 2\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\u003elogic(2) = 5\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\u003elogic(3) = 9\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\u003elogic(4) = 14\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\u003eMake a function logic(x) which returns 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47224,"title":"Find Logic 3","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake Function by finding logic from a given problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) =  2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which returs value equivalent to 'x' th term\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 9\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 27\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":429,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T13:28:53.000Z","updated_at":"2026-02-27T08:29:40.000Z","published_at":"2020-11-03T13:28:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake Function by finding logic from a given problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) =  2\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\u003elogic(3) = 5\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\u003elogic(4) = 9\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\u003eMake a function logic(x) which returs value equivalent to 'x' th term\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47310,"title":"Find Logic 15","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 64\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 8;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 25;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 6;\r\ny_correct = 216;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":449,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T14:25:25.000Z","updated_at":"2026-02-20T09:45:29.000Z","published_at":"2020-11-05T14:25:25.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 9\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\u003elogic(4) = 64\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\u003elogic(5) = 25\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\u003eMake a function logic(x) which will return 'x' th term of sequence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":58424,"title":"ICFP 2022 - RoboPaint Image Scoring","description":"The ICFP2023 Challenge is Jul 7-10, registraion opens late June. Updates at TwitICFP2023. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\r\nThe ICFP2022 HomePage has details of the RoboPaint contest. Twit2022, WriteUps, PriorEvents, Spec, ImageSubmissions, Puzzles, SawickiSolutions are useful links. Posted 6/17/23.\r\nThis challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \r\nA video of FrictionlessBananasSawicki paint steps, [2FBS.mp4.avi] shows the processing method to create Submit.png.\r\nImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\r\n where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\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: 627.5px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 313.75px; transform-origin: 407px 313.75px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2023.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2023\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: 197.5px 8px; transform-origin: 197.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Challenge is Jul 7-10, registraion opens late June. Updates at \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://twitter.com/icfpcontest2023\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTwitICFP2023\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: 95px 8px; transform-origin: 95px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2022 HomePage\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: 120px 8px; transform-origin: 120px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e has details of the RoboPaint contest. \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://twitter.com/icfpcontest2022\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTwit2022\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/writeups/\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eWriteUps\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.icfpconference.org/contest.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePriorEvents\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2022.github.io/Specifications/spec_v2_4.pdf\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSpec\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://gist.github.com/RafaelBocquet/e464c2d199f2d7a725cafdc22b30df7f\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eImageSubmissions\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://github.com/icfpc-unagi/icfpc2022/tree/main/problems\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePuzzles\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: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eSawickiSolutions\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: 103.5px 8px; transform-origin: 103.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are useful links. Posted 6/17/23.\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: 369px 8px; transform-origin: 369px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \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: 163px 8px; transform-origin: 163px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eA video of FrictionlessBananasSawicki paint steps, [\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://drive.google.com/file/d/1GrKpcITcV_IKAs_mqtmwm7gTWG_KieTb/view?usp=drive_link\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e2FBS.mp4.avi\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: 167px 8px; transform-origin: 167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e] shows the processing method to create Submit.png.\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: 351px 8px; transform-origin: 351px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\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: 281.5px 8px; transform-origin: 281.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 405.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 202.75px; text-align: left; transform-origin: 384px 202.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 400px;height: 400px\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEbGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIyLTA4LTMxPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjllMDhjZjRjLTk4NmEtNDIzYi1hYTllLWE1OGE3NGMyZmJkODwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Sb2JvUGFpbnRlcjwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi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csMYwWPcvU/YCxkGARmZ02+EUbwp/Oa/tP8whrFJesVdjtGM74z85m98/PdhJOMbxfvkDsUhLABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAISUQw8A2ySd+vKBx9LpxmNDD6QnppP7lAcey2nduOzU33GnIyA4I5fydcmvS15oVAHJ1yWfDz2QntRSvqZmBT2igFjRjMsX7T+M5fnHkAgIzsYm0sHjUp5JNqYjn9aMafoDQw9kRe0WfXmvdPATUppqXCvpJNWH0uTB9u/sgUAydx/TqxRj5C7ZNqwwXHLb3nXbtjzO2zJOrN2YNiUxRq5mhbwN2xndWLfR8eM89ECWsVWDxRpwCAu3cWrNNvaImJ2Mceu2kE8/zkOP5Ta6x3nbHmL0jkNYAIAQDmEBAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAg5P8BuswYmRyS+ZYAAAAASUVORK5CYII=\" data-image-state=\"image-loaded\" width=\"400\" height=\"400\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function scr = Calc_Img_Score(G,S)\r\n  scr=0;\r\nend","test_suite":"%%\r\n%Google Drive Dowloads need to come from shared files\r\n% Tweak link: file/d/ to uc?export=download\u0026id=   while removing /view?usp=sharing\r\n% https://drive.google.com/file/d/1v3GsGgP3p905wzdvUqypL_-djYmxiyzK/view?usp=sharing\r\n% https://drive.google.com/uc?export=download\u0026id=1v3GsGgP3p905wzdvUqypL_-djYmxiyzK\r\n%2.png\r\n% G=webread(url); urlwrite(url,fname) then imread\r\nG=imread('https://drive.google.com/uc?export=download\u0026id=1v3GsGgP3p905wzdvUqypL_-djYmxiyzK');\r\n%2FBS.png\r\n%https://drive.google.com/file/d/1J-9EeVwzB0U8KSD4eNAKQ0LMFv3PGs1F/view?usp=sharing\r\nS=imread('https://drive.google.com/uc?export=download\u0026id=1J-9EeVwzB0U8KSD4eNAKQ0LMFv3PGs1F');\r\n\r\ny_correct = 1006;\r\nscr=Calc_Img_Score(G,S)\r\nassert(isequal(scr,y_correct))\r\n\r\n% A random G/S may be created if too many hacks\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2023-06-17T19:15:40.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-06-17T16:54:28.000Z","updated_at":"2023-06-17T19:15:40.000Z","published_at":"2023-06-17T19:08:26.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2023.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2023\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e Challenge is Jul 7-10, registraion opens late June. Updates at \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://twitter.com/icfpcontest2023\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTwitICFP2023\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. These contests are insanely complicated and competitive. The challenge evolves every 12 hours with new files and rule updates.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2022.github.io/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2022 HomePage\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e has details of the RoboPaint contest. \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://twitter.com/icfpcontest2022\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTwit2022\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=\\\"https://icfpcontest2022.github.io/writeups/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWriteUps\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=\\\"https://www.icfpconference.org/contest.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePriorEvents\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=\\\"https://icfpcontest2022.github.io/Specifications/spec_v2_4.pdf\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSpec\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=\\\"https://gist.github.com/RafaelBocquet/e464c2d199f2d7a725cafdc22b30df7f\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eImageSubmissions\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=\\\"https://github.com/icfpc-unagi/icfpc2022/tree/main/problems\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePuzzles\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=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eSawickiSolutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e are useful links. Posted 6/17/23.\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 challenge is to score the image Similarity given the Goal.png as an [m,n,3] matrix,G, and a Submit.png matrix,S.  \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\u003eA video of FrictionlessBananasSawicki paint steps, [\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://drive.google.com/file/d/1GrKpcITcV_IKAs_mqtmwm7gTWG_KieTb/view?usp=drive_link\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e2FBS.mp4.avi\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e] shows the processing method to create Submit.png.\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\u003eImgScore = round(alpha * sum(pixel_distances)) with alpha=0.005 where pixel_distance = (rdist+gdist+bdist)^0.5\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\u003e where rdist=(G(X,Y,1)-S(X,Y,1))^2, gdist=(G(X,Y,2)-S(X,Y,2))^2, bdist=(G(X,Y,3)-S(X,Y,3))^2\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=\\\"400\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"400\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEbGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIyLTA4LTMxPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPjllMDhjZjRjLTk4NmEtNDIzYi1hYTllLWE1OGE3NGMyZmJkODwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5Sb2JvUGFpbnRlcjwvcmRmOmxpPgogICA8L3JkZjpBbHQ+CiAgPC9kYzp0aXRsZT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi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csMYwWPcvU/YCxkGARmZ02+EUbwp/Oa/tP8whrFJesVdjtGM74z85m98/PdhJOMbxfvkDsUhLABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAIQQEABACAEBAISUQw8A2ySd+vKBx9LpxmNDD6QnppP7lAcey2nduOzU33GnIyA4I5fydcmvS15oVAHJ1yWfDz2QntRSvqZmBT2igFjRjMsX7T+M5fnHkAgIzsYm0sHjUp5JNqYjn9aMafoDQw9kRe0WfXmvdPATUppqXCvpJNWH0uTB9u/sgUAydx/TqxRj5C7ZNqwwXHLb3nXbtjzO2zJOrN2YNiUxRq5mhbwN2xndWLfR8eM89ECWsVWDxRpwCAu3cWrNNvaImJ2Mceu2kE8/zkOP5Ta6x3nbHmL0jkNYAIAQDmEBAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAghIAAAEIICAAg5P8BuswYmRyS+ZYAAAAASUVORK5CYII=\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42780,"title":"GJam March 2016 IOW: Password Single","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/8274486/dashboard#s=p3 GJam March 2016 Annual I/O for Password Security\u003e. This is the small-1 case of only a single password\r\n\r\nThe GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'. \r\n\r\n*Input:* [PW], string of 1 to 26 characters\r\n\r\n*Output:* [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\r\n\r\n*Examples:* [PW] [Pstr]\r\n\r\n  [X] [IMPOSSIBLE] \r\n  [QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ] \r\n \r\n\r\n*\u003chttp://code.google.com/codejam Google Code Jam 2016 Open Qualifier: April 8, 2016\u003e*\r\n\r\n*Theory:* Single password case is a three liner.\r\n\r\n","description_html":"\u003cp\u003eThis Challenge is derived from \u003ca href = \"http://code.google.com/codejam/contest/8274486/dashboard#s=p3\"\u003eGJam March 2016 Annual I/O for Password Security\u003c/a\u003e. This is the small-1 case of only a single password\u003c/p\u003e\u003cp\u003eThe GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e [PW], string of 1 to 26 characters\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\u003c/p\u003e\u003cp\u003e\u003cb\u003eExamples:\u003c/b\u003e [PW] [Pstr]\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e[X] [IMPOSSIBLE] \r\n[QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ] \r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003e\u003ca href = \"http://code.google.com/codejam\"\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/a\u003e\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eTheory:\u003c/b\u003e Single password case is a three liner.\u003c/p\u003e","function_template":"function Pstr=Password(c)\r\n% c is a string [A:Z]\r\n% create Pstr that contains [A:Z] such that no c exists in Pstr\r\n% if not possible return Pstr='IMPOSSIBLE'\r\n Pstr='IMPOSSIBLE';\r\n\r\nend","test_suite":"%%\r\ntic\r\nm='ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\nvexp='ZYXWVUTSRQPONMLKJIHGFEDCBA';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='X';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QQ';\r\nvexp='QABCDEFGHIJKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VLCIFDXB';\r\nvexp='BXDFICLVAEGHJKMNOPQRSTUWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='Z';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IKFBJUXSECAHNYLRVWDQPTZOMG';\r\nvexp='GMOZTPQDWVRLYNHACESXUJBFKI';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XQOHEJIUZVFRSMLGYNWDBATP';\r\nvexp='PTABDWNYGLMSRFVZUIJEHOQXCK';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JO';\r\nvexp='OJABCDEFGHIKLMNPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='UJ';\r\nvexp='JUABCDEFGHIKLMNOPQRSTVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JQ';\r\nvexp='QJABCDEFGHIKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PJ';\r\nvexp='JPABCDEFGHIKLMNOQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JK';\r\nvexp='KJABCDEFGHILMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AJILRWDVYFQNUPOSKXGTCME';\r\nvexp='EMCTGXKSOPUNQFYVDWRLIJABHZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JV';\r\nvexp='VJABCDEFGHIKLMNOPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='UOFVH';\r\nvexp='HVFOUABCDEGIJKLMNPQRSTWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZBITRKUX';\r\nvexp='XUKRTIBZACDEFGHJLMNOPQSVWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RXHYDMIVCWTQN';\r\nvexp='NQTWCVIMDYHXRABEFGJKLOPSUZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VONM';\r\nvexp='MNOVABCDEFGHIJKLPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LPNXTMRA';\r\nvexp='ARMTXNPLBCDEFGHIJKOQSUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PKBAYN';\r\nvexp='NYABKPCDEFGHIJLMOQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JBHWXAPIKGZLYDSVNEQRFCU';\r\nvexp='UCFRQENVSDYLZGKIPAXWHBJMOT';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JD';\r\nvexp='DJABCEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JL';\r\nvexp='LJABCDEFGHIKMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CENHVFYD';\r\nvexp='DYFVHNECABGIJKLMOPQRSTUWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CIJTQSGVWKEXLO';\r\nvexp='OLXEKWVGSQTJICABDFHMNPRUYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AJ';\r\nvexp='JABCDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RJ';\r\nvexp='JRABCDEFGHIKLMNOPQSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QJ';\r\nvexp='JQABCDEFGHIKLMNOPRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LJ';\r\nvexp='JLABCDEFGHIKMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RUTGILBYCWO';\r\nvexp='OWCYBLIGTURADEFHJKMNPQSVXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='WJ';\r\nvexp='JWABCDEFGHIKLMNOPQRSTUVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JI';\r\nvexp='IJABCDEFGHKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='RPFLXJAUNZDYBCQHKOGEW';\r\nvexp='WEGOKHQCBYDZNUAJXLFPRIMSTV';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JC';\r\nvexp='CJABDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZZ';\r\nvexp='ZABCDEFGHIJKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='NJ';\r\nvexp='JNABCDEFGHIKLMOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JN';\r\nvexp='NJABCDEFGHIKLMOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='OJ';\r\nvexp='JOABCDEFGHIKLMNPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YJ';\r\nvexp='JYABCDEFGHIKLMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ASQHIYWOVDK';\r\nvexp='KDVOWYIHQSABCEFGJLMNPRTUXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JR';\r\nvexp='RJABCDEFGHIKLMNOPQSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IAQPHFOVLZRXK';\r\nvexp='KXRZLVOFHPQAIBCDEGJMNSTUWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='TJ';\r\nvexp='JTABCDEFGHIKLMNOPQRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JB';\r\nvexp='BJACDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SKTMEYDBNQFGH';\r\nvexp='HGFQNBDYEMTKSACIJLOPRUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='HJ';\r\nvexp='JHABCDEFGIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LCIUBXSAMQJYNDRKTHPWEOV';\r\nvexp='VOEWPHTKRDNYJQMASXBUICLFGZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LEBIYF';\r\nvexp='FYIBELACDGHJKMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='QDUFXPLKWJYOV';\r\nvexp='VOYJWKLPXFUDQABCEGHIMNRSTZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ZJ';\r\nvexp='JZABCDEFGHIKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VNTIKRQLEUJZDSAYFHMG';\r\nvexp='GMHFYASDZJUELQRKITNVBCOPWX';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JU';\r\nvexp='UJABCDEFGHIKLMNOPQRSTVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='CJ';\r\nvexp='JCABDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VJ';\r\nvexp='JVABCDEFGHIKLMNOPQRSTUWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='GJ';\r\nvexp='JGABCDEFHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='MJ';\r\nvexp='JMABCDEFGHIKLNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JM';\r\nvexp='MJABCDEFGHIKLNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JWPOBESYCLURKTMXGAQFHZ';\r\nvexp='ZHFQAGXMTKRULCYSEBOPWJDINV';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YXWVPTANLC';\r\nvexp='CLNATPVWXYBDEFGHIJKMOQRSUZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DHTGFSRVMWKNXOBUPCLAIQYEJZ';\r\nvexp='ZJEYQIALCPUBOXNKWMVRSFGTHD';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='BHZLJATP';\r\nvexp='PTAJLZHBCDEFGIKMNOQRSUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XJ';\r\nvexp='JXABCDEFGHIKLMNOPQRSTUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='AA';\r\nvexp='ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='FKMWBLNRQUDHOGZVCIAE';\r\nvexp='EAICVZGOHDUQRNLBWMKFJPSTXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='NQCHZXIUTVLKD';\r\nvexp='DKLVTUIXZHCQNABEFGJMOPRSWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JP';\r\nvexp='PJABCDEFGHIKLMNOQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='OYSLPBQVHDZE';\r\nvexp='EZDHVQBPLSYOACFGIJKMNRTUWX';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JT';\r\nvexp='TJABCDEFGHIKLMNOPQRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JA';\r\nvexp='AJBCDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SJ';\r\nvexp='JSABCDEFGHIKLMNOPQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='FJ';\r\nvexp='JFABCDEGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='ITQXRCOULKH';\r\nvexp='HKLUOCRXQTIABDEFGJMNPSVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='EJ';\r\nvexp='JEABCDFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DJ';\r\nvexp='JDABCEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VDSHZWRBAYUJEMFIONXPTKL';\r\nvexp='LKTPXNOIFMEJUYABRWZHSDVCGQ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='PWGUA';\r\nvexp='AUGWPBCDEFHIJKLMNOQRSTVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IMPOSSIBLE';\r\nvexp='ELBISOPMACDFGHJKNQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XBYKNRGLJVFEPTUO';\r\nvexp='OUTPEFVJLGRNKYBXACDHIMQSWZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JH';\r\nvexp='HJABCDEFGIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='KTMDLQ';\r\nvexp='QLDMTKABCEFGHIJNOPRSUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='LUNSVKPGFJOXEAQMBDZ';\r\nvexp='ZDBMQAEXOJFGPKVSNULCHIRTWY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='IJ';\r\nvexp='JIABCDEFGHKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='VOKCMQBHWUNZGJ';\r\nvexp='JGZNUWHBQMCKOVADEFILPRSTXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JY';\r\nvexp='YJABCDEFGHIKLMNOPQRSTUVWXZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='A';\r\nvexp='IMPOSSIBLE';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JW';\r\nvexp='WJABCDEFGHIKLMNOPQRSTUVXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JX';\r\nvexp='XJABCDEFGHIKLMNOPQRSTUVWYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JF';\r\nvexp='FJABCDEGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SLMAWBIKZCXOHQFGPYUDNJV';\r\nvexp='VJNDUYPGFQHOXCZKIBWAMLSERT';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='XDLNMWTESQIFYRHCPOA';\r\nvexp='AOPCHRYFIQSETWMNLDXBGJKUVZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='KJ';\r\nvexp='JKABCDEFGHILMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='MHZAXUFKDVQORNWYTCGEISBJ';\r\nvexp='JBSIEGCTYWNROQVDKFUXAZHMLP';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='DCAZKJ';\r\nvexp='JKZACDBEFGHILMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='BJ';\r\nvexp='JBACDEFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JZ';\r\nvexp='ZJABCDEFGHIKLMNOPQRSTUVWXY';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JG';\r\nvexp='GJABCDEFHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='SAMWRULICJGBEFYKVQTONPDZXH';\r\nvexp='HXZDPNOTQVKYFEBGJCILURWMAS';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JS';\r\nvexp='SJABCDEFGHIKLMNOPQRTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='JE';\r\nvexp='EJABCDFGHIKLMNOPQRSTUVWXYZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n%%\r\nm='YXUMAFB';\r\nvexp='BFAMUXYCDEGHIJKLNOPQRSTVWZ';\r\nv=Password(m);\r\nvalid=1;\r\nif ~strcmp(unique(v),char(65:90)),valid=0;end\r\nif ~isempty(strfind(v,m)),valid=0;end;\r\nif strcmp(vexp,'IMPOSSIBLE'),valid=strcmp(v,'IMPOSSIBLE');end\r\nassert(valid==1)\r\n\r\n\r\ntoc","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-20T00:37:14.000Z","updated_at":"2025-12-07T18:55:37.000Z","published_at":"2016-03-20T00:52:13.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is derived from\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://code.google.com/codejam/contest/8274486/dashboard#s=p3\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam March 2016 Annual I/O for Password Security\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. This is the small-1 case of only a single password\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 GJam story goes that a random block set A:Z exists to the child of a paranoid corporate president. He is worried that his password(s) may exist in the block pattern. Produce a 26 character block sequence that does not contain his password. If no sequence can be made that does not contain his strong password output 'IMPOSSIBLE'.\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 [PW], string of 1 to 26 characters\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 [Pstr], string containing A:Z with no instance of PW or 'IMPOSSIBLE'\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [PW] [Pstr]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[X] [IMPOSSIBLE] \\n[QQ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]]]\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Single password case is a three liner.\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":2652,"title":"Kurchan 5x5 - Optimal Score","description":"Related to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\r\nFor example: Magic(5) is\r\n    17    24     1     8    15\r\n    23     5     7    14    16\r\n     4     6    13    20    22\r\n    10    12    19    21     3\r\n    11    18    25     2     9\r\nThe row products are:\r\n17 * 24 * 1 * 8 * 15=48960\r\n23 * 5 * 7 * 14 * 16=180320\r\n4 * 6 * 13 * 20 * 22=137280\r\n10 * 12 * 19 * 21 * 3=143640\r\n11 * 18 * 25 * 2 * 9=89100\r\nThe column products are:\r\n17 * 23 * 4 * 10 * 11=172040\r\n24 * 5 * 6 * 12 * 18=155520\r\n1 * 7 * 13 * 19 * 25=43225\r\n8 * 14 * 20 * 21 * 2=94080\r\n15 * 16 * 22 * 3 * 9=142560\r\nThe diagonal products are:\r\n17*5*13*21*9=208845\r\n24*7*20*3*11=110880\r\n1*14*22*10*18=55440\r\n8*16*4*12*25=153600\r\n15*23*6*19*2=78660\r\nThe anti-diagonal products are:\r\n15*14*13*12*11=360360\r\n8*7*6*10*9=30240\r\n1*5*4*3*2=120\r\n24*23*22*21*25=6375600\r\n17*16*20*19*18=1860480\r\nThe highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.","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: 890.833px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 445.417px; transform-origin: 407px 445.417px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; 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: 383.5px 8px; transform-origin: 383.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRelated to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\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: 77.5px 8px; transform-origin: 77.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example: Magic(5) is\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 102.167px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 51.0833px; transform-origin: 404px 51.0833px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    17    24     1     8    15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    23     5     7    14    16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     4     6    13    20    22\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    10    12    19    21     3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 120px 8.5px; tab-size: 4; transform-origin: 120px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    11    18    25     2     9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 69.5px 8px; transform-origin: 69.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe row products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17 * 24 * 1 * 8 * 15=48960\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e23 * 5 * 7 * 14 * 16=180320\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e4 * 6 * 13 * 20 * 22=137280\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 90px 8px; transform-origin: 90px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10 * 12 * 19 * 21 * 3=143640\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 81.5px 8px; transform-origin: 81.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11 * 18 * 25 * 2 * 9=89100\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 81px 8px; transform-origin: 81px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe column products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 89.5px 8px; transform-origin: 89.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17 * 23 * 4 * 10 * 11=172040\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24 * 5 * 6 * 12 * 18=155520\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1 * 7 * 13 * 19 * 25=43225\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8 * 14 * 20 * 21 * 2=94080\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 86px 8px; transform-origin: 86px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15 * 16 * 22 * 3 * 9=142560\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 85.5px 8px; transform-origin: 85.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe diagonal products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17*5*13*21*9=208845\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 69px 8px; transform-origin: 69px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24*7*20*3*11=110880\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1*14*22*10*18=55440\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 70px 8px; transform-origin: 70px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8*16*4*12*25=153600\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 66px 8px; transform-origin: 66px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15*23*6*19*2=78660\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 99.5px 8px; transform-origin: 99.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe anti-diagonal products are:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 102.167px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 51.0833px; transform-origin: 391px 51.0833px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 77.5px 8px; transform-origin: 77.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e15*14*13*12*11=360360\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 58px 8px; transform-origin: 58px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e8*7*6*10*9=30240\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 46px 8px; transform-origin: 46px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e1*5*4*3*2=120\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e24*23*22*21*25=6375600\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 82px 8px; transform-origin: 82px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e17*16*20*19*18=1860480\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = kurchan_5x5\r\n  % Input your matrix or code below\r\ny=magic(5)\r\nend","test_suite":"%%\r\ny = kurchan_5x5\r\nuy=unique(y(:));\r\nassert(isequal(uy,[1:25]'));\r\n\r\ndg = @(mm) spdiags([mm mm],1:length(mm));\r\npy=prod([y y' dg(y) dg(flipud(y))]);\r\ncody_score=max(py)-min(py);\r\n\r\nfprintf('Maximum product of your matrix = %.0f \\n',max(py))\r\nfprintf('Minimum product of your matrix = %.0f \\n',min(py))\r\nfprintf('Kurchan score of your matrix   = %.0f \\n',cody_score)\r\nfeval(@assignin,'caller','score',cody_score);","published":true,"deleted":false,"likes_count":1,"comments_count":5,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":43,"test_suite_updated_at":"2021-10-02T19:34:56.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-10-31T14:35:09.000Z","updated_at":"2026-03-16T13:30:43.000Z","published_at":"2014-10-31T14:39:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRelated to Problems 1646 and 2650, but bigger. Technically, all you need to do for this Cody problem is input a 5x5 matrix containing the numbers 1-25. However, your score will be the Kurchan value of the matrix, which is defined as the difference between the maximum and minimum of the products for the rows, columns, diagonals, and anti-diagonals of the matrix.\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\u003eFor example: Magic(5) is\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[    17    24     1     8    15\\n    23     5     7    14    16\\n     4     6    13    20    22\\n    10    12    19    21     3\\n    11    18    25     2     9]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe row products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17 * 24 * 1 * 8 * 15=48960\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e23 * 5 * 7 * 14 * 16=180320\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e4 * 6 * 13 * 20 * 22=137280\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e10 * 12 * 19 * 21 * 3=143640\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e11 * 18 * 25 * 2 * 9=89100\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 column products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17 * 23 * 4 * 10 * 11=172040\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24 * 5 * 6 * 12 * 18=155520\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1 * 7 * 13 * 19 * 25=43225\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8 * 14 * 20 * 21 * 2=94080\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15 * 16 * 22 * 3 * 9=142560\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 diagonal products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17*5*13*21*9=208845\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24*7*20*3*11=110880\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1*14*22*10*18=55440\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8*16*4*12*25=153600\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15*23*6*19*2=78660\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 anti-diagonal products are:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e15*14*13*12*11=360360\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e8*7*6*10*9=30240\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1*5*4*3*2=120\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e24*23*22*21*25=6375600\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e17*16*20*19*18=1860480\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 highest value is 6375600, while the lowest is 120. Therefore, the score of this matrix is 6375480. Your Cody score will be the Kurchan score of your matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47295,"title":"Find Logic 13","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 100\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 102\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 99\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 103\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 98\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 100;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 100;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\nassert(isequal(logic(x),102))\r\n\r\n%%\r\nx = 4;\r\nassert(isequal(logic(x),103))\r\n\r\n%%\r\nx = 7;\r\nassert(isequal(logic(x),97))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":403,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T07:07:30.000Z","updated_at":"2026-02-14T07:02:11.000Z","published_at":"2020-11-05T07:07:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 100\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\u003elogic(2) = 102\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\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 103\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\u003elogic(5) = 98\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\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47370,"title":"Find Logic 25","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(11) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(15) = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(22) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value according to logic in problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 15;\r\ny_correct = 6;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":234,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T13:48:01.000Z","updated_at":"2026-02-14T13:45:20.000Z","published_at":"2020-11-06T13:48:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(11) = 2\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\u003elogic(15) = 6\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\u003elogic(22) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function logic(x) which will return value according to logic in problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47345,"title":"Find Logic 20","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(6) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 7;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 7;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 4;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\nassert(isequal(logic(x),9))\r\n\r\n%%\r\nx = 6;\r\nassert(isequal(logic(x),2))","published":true,"deleted":false,"likes_count":3,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":365,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T05:30:27.000Z","updated_at":"2026-03-17T20:15:27.000Z","published_at":"2020-11-06T05:30:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 7\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\u003elogic(2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(4) = 3\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\u003elogic(5) = 9\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\u003elogic(6) = 2\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\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60623,"title":"ICFP2024 007: Lambdaman 1, 2, 3 Breadth Solver","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\r\n\r\nThe ICFP competition is more about manual solving optimizations for each unique problem.\r\nThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.","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: 315px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 157.5px; transform-origin: 407px 157.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 356.5px 8px; transform-origin: 356.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 332px 8px; transform-origin: 332px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\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: 285.5px 8px; transform-origin: 285.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 379.5px 8px; transform-origin: 379.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function pathbest = Lambdaman_123(m)\r\n% Maze 1 solves in 15 so max states is 4^15=1.07e9\r\n% Each depth loop creates all new legal states from prior depth states\r\n% Maze 3 Fails miserably for pure breadth so key throat points checked for uneaten cheese\r\n%History of prior states maintained to eliminate duplicated states\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr];\r\n bn2=nnz(m(:)==2);\r\n stateh=zeros(20000,nr*nc,'int8');\r\n spath=zeros(20000,15,'uint8');\r\n c2=nnz(m(:)==2);\r\n statec2=ones(20000,1)*c2;\r\n stateh(1,:)=m(:);\r\n sptr=1; eptr=1;\r\n enptr=eptr;\r\n depth=0;\r\n \r\n m3=nr*nc==72; % Hack for Lambdaman3\r\n \r\n while c2\u003e0\r\n  depth=depth+1;\r\n  fprintf('Depth:%i sptr:%i eptr:%i\\n',depth,sptr,eptr)\r\n  for hptr=sptr:eptr\r\n   ms=stateh(hptr,:);\r\n   \r\n   Lidx=find(ms==1);\r\n   \r\n   if m3 % Hack for Lambdaman3: Check chokepoints for completion\r\n    if Lidx==26 \u0026\u0026 nnz(ms([62 52 34])==2),continue;end %Lower grp\r\n    if Lidx==26 \u0026\u0026 ms(17)==3,continue;end % turn aroud\r\n    if Lidx==12 \u0026\u0026 nnz(ms([24 22 32 14])==2),continue;end %Left grp\r\n    if Lidx==12 \u0026\u0026 ms(11)==3,continue;end % turn aroud\r\n    if Lidx==20 \u0026\u0026 ms(29)==3,continue;end % turn aroud\r\n   end\r\n   \r\n   Cadj=ms(adj+Lidx);\r\n   msn=ms;\r\n   msn(Lidx)=3; %Lambdaman will move\r\n   for i=1:4 % UDLR\r\n    if Cadj(i)==0,continue;end % Ignore into wall Cadj==0 movement\r\n     Lidxn=Lidx+adj(i);\r\n     msn(Lidxn)=1;\r\n     \r\n     c2=nnz(msn==2);\r\n     ptr1=find(msn==2,1,'first');\r\n     ptr2=find(msn==2,1,'last');\r\n     cvec=statec2(1:enptr)==c2; % Reduce vector check only to c2 qty vectors\r\n     cvec=cvec \u0026 stateh(1:enptr,Lidxn)==1 \u0026 stateh(1:enptr,ptr1)==2 \u0026 stateh(1:enptr,ptr2)==2;\r\n     if nnz(cvec) % Perform a check\r\n      if nnz(sum(abs(stateh(cvec,:)-msn),2)==0) %23K/1.9s Pre-exist state check\r\n        msn(Lidxn)=ms(Lidxn); % Reset msn\r\n       continue; %Abort when create an existing prior state\r\n      end\r\n     end\r\n     \r\n     enptr=enptr+1; % new valid state\r\n     spath(enptr,:)=spath(hptr,:);\r\n     spath(enptr,depth)=i; % UDLR as 1 2 3 4\r\n     stateh(enptr,:)=msn;\r\n     msn(Lidxn)=ms(Lidxn); % Reset msn\r\n     statec2(enptr)=c2;\r\n          \r\n     if c2==0,break;end\r\n   end % UDLR\r\n   if c2==0\r\n    eptr=enptr;\r\n    break;\r\n   end\r\n   \r\n  end % hptr\r\n  sptr=eptr+1; % update wave\r\n  eptr=enptr;\r\n   \r\n end % while  c2\u003e0\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(spath(eptr,1:depth));\r\n fprintf('BestPath:');fprintf('%s',pathbest);fprintf('\\n')\r\n  \r\nend %maze_breadth","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 1  optimal solution L15 LLLDURRRUDRRURR\r\nms=['###.#...'\r\n    '...L..##'\r\n    '.#######'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==15\r\n  valid=1;\r\n else\r\n  fprintf('Length 15 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 2  optimal solution L26 RDURRDDRRUUDDLLLDLLDDRRRUR\r\nms=['L...#.'\r\n    '#.#.#.'\r\n    '##....'\r\n    '...###'\r\n    '.##..#'\r\n    '....##'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\n\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==26\r\n  valid=1;\r\n else\r\n  fprintf('Length 26 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 3  optimal solution L40 DRDRLLLUDLLUURURLLURLUURRDRDRDRDUUUULDLU\r\nms=[  '......'\r\n      '.#....'\r\n      '..#...'\r\n      '...#..'\r\n      '..#L#.'\r\n      '.#...#'\r\n      '......'];\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\nztic=tic;\r\nv = Lambdaman_123(m);\r\ntoc(ztic)\r\nfprintf('Answer Length: %i\\n',length(v));\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)==40\r\n  valid=1;\r\n else\r\n  fprintf('Length 40 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-14T03:49:34.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-13T14:56:14.000Z","updated_at":"2025-12-08T21:14:18.000Z","published_at":"2024-07-14T03:49:34.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 1, 2, and 3 mazes are small matrices L at various indices,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best Lambdaman1, 2, and 3 solutions take 15, 26, and 40 U/R/D/L commands, respectively.\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe ICFP competition is more about manual solving optimizations for each unique problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman mazes 1, 2 and 3 by eating all the cheese via a char path of UDLR, with a common program smaller than the template. The template implements a breadth first search with prior state check.  Optimal length solutions are required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47240,"title":"Find Logic 6","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 212.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 106.31px; transform-origin: 174px 106.31px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic and Make a function by finding logic from this problem.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 29\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 66\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFunction logic(x) will return 'x' th term of this sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 3;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 66;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 514;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":402,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T06:26:21.000Z","updated_at":"2026-02-27T04:52:00.000Z","published_at":"2020-11-04T06:26:21.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic and Make a function by finding logic from this problem.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1) = 3\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\u003elogic(2) = 10\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\u003elogic(3) = 29\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\u003elogic(4) = 66\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\u003eFunction logic(x) will return 'x' th term of this sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47350,"title":"Find Logic 21","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 45\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 15\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 60\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 12\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 72\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value equal  to 'x'th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 45;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 45;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 60;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 72;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":261,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T06:12:12.000Z","updated_at":"2026-03-17T20:16:52.000Z","published_at":"2020-11-06T06:12:12.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1) = 45\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\u003elogic(2) = 15\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\u003elogic(3) = 60\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\u003elogic(4) = 12\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\u003elogic(5) = 72\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\u003eMake a function logic(x) which will return value equal  to 'x'th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60603,"title":"ICFP2024 003: Lambdaman 5","description":"The ICFP2024 contest was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe ICFP Language is based on Lambda Calculus.\r\nThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\nThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\r\nB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  The usage B$ v\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\r\nThe big hint here is that ICFP O is U, \u003e is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\r\n\r\nThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\r\nI will be posting the entire ICFP2024 contest challenges and best solutions.\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: 728.767px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 364.383px; transform-origin: 407px 364.383px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 302px 8px; transform-origin: 302px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/icfp.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP Language\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: 40.5px 8px; transform-origin: 40.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is based on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Lambda_calculus\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eLambda Calculus\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 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: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 186px 8px; transform-origin: 186px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 230.267px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 115.133px; transform-origin: 391px 115.133px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.....########...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e....#...........\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e...#..######....\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e..#..#......#...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#..#...##...#..\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#..#..#L.#...#.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e.#...#....#...#.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e..#...####...#..\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e...#........#...\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e....########....\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.4667px; text-align: left; transform-origin: 363px 10.4667px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 64px 8.5px; transform-origin: 64px 8.5px; \"\u003e................\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\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: 350px 8px; transform-origin: 350px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 375px 8px; transform-origin: 375px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  The usage B$ v\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: 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: 377px 8px; transform-origin: 377px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe big hint here is that ICFP O is U, \u0026gt; is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.75px; text-align: left; transform-origin: 384px 10.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; \"\u003e\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: 371.5px 8px; transform-origin: 371.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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: 235.5px 8px; transform-origin: 235.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI will be posting the entire ICFP2024 contest challenges and best 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: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v = Lambdaman5(m)\r\n% m is a maze where 2 is cheese to eat, 1 is Lambdaman the token being moved, and\r\n% 0 is a wall\r\n%v is path moved using UDLR characters for Up, Down, Left, and Right\r\n%Running into a wall or going off maze reults in no movement\r\n\r\n%A correct answer for Lambdaman5 is a string of about 220 RDLU characters\r\n%Answers may vary wildly\r\n v='RDLLLU';\r\nend\r\n\r\n%Lambdaman 5 ICFP dataset and optimal solution\r\n%{\r\nMaze\r\nSlllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\n\r\nSolution\r\nB$ L\" B. S3/,6%},!-\"$!-!.Z} B$ v\" B$ v\" B$ v\" SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO \r\nL! B. B. v! v! v! \r\n\r\nwhich defines the function L\" as triple(x) from B$ L\" and L! B. B. v! v! v!  \r\nThe usage B$ v\" invokes triple(x) \r\nthus the main becomes triple(triple(triple(SFOOLL\u003e\u003eLL\u003eFO\u003e\u003e\u003eFFL\u003e\u003e\u003eFFFFOFOFFOLLLLOFOLO) )) \r\nor 27 repeats of the string.\r\nThe big hint here is that ICFP O is U, \u003e is D, F is L, and L is R when decrypted. \r\nRunning into walls causes no movement and since this is a spiral maze there appears to be \r\na short sequence that spans all the cheesy bits when repeated.  \r\nTo me it was nuts that someone devised this short sequence.\r\n\r\n%}\r\n\r\n%ICFP Language\r\n%{\r\nICFP language\r\nAn Interstellar Communication Functional Program (ICFP) consists of a list of space-separated tokens. \r\nA token consists of one or more printable ASCII characters, from ASCII code 33 ('!') \r\nup to and including code 126 ('~'). In other words, there are 94 possible characters, \r\nand a token is a nonempty sequence of such characters.\r\n\r\nThe first character of a token is called the indicator, and determines the type of the token. \r\nThe (possibly empty) remainder of the token is called body. The different token types are \r\nexplained in the next subsections.\r\n\r\nBooleans\r\nindicator = T and an empty body represents the constant true, and indicator = F and an \r\nempty body represents the constant false.\r\n\r\nIntegers\r\nindicator = I, requires a non-empty body.\r\n\r\nThe body is interpreted as a base-94 number, e.g. the digits are the 94 printable ASCII characters\r\n with the exclamation mark representing 0, double quotes 1, etc. \r\nFor example, I/6 represent the number 1337.\r\n\r\nStrings\r\nindicator = S\r\n\r\nThe Cult of the Bound variable seems to use a system similar to ASCII to encode characters, \r\nbut ordered slightly differently. Specifically, ASCII codes 33 to 126 from the body can be \r\ntranslated to human readable text by converting them according to the following order:\r\n\r\nabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`|~\u003cspace\u003e\u003cnewline\u003e\r\nHere \u003cspace\u003e denotes a single space character, and \u003cnewline\u003e a single newline character. \r\nFor example, SB%,,/}Q/2,$_ represents the string \"Hello World!\".\r\n\r\nUnary operators\r\nindicator = U, requires a body of exactly 1 character long, and should be followed by an ICFP\r\nwhich can be parsed from the tokens following it.\r\n\r\nCharacter\tMeaning\tExample\r\n-\tInteger negation\tU- I$ -\u003e -3\r\n!\tBoolean not\tU! T -\u003e false\r\n#\tstring-to-int: interpret a string as a base-94 number\tU# S4%34 -\u003e 15818151\r\n$\tint-to-string: inverse of the above\tU$ I4%34 -\u003e test\r\nThe -\u003e symbol in this table should be read as \"will evaluate to\", see Evaluation.\r\n\r\nBinary operators\r\nindicator = B, requires a body of exactly 1 character long, and should be followed by two ICFPs \r\n(let's call them x and y).\r\n\r\nCharacter\tMeaning\tExample\r\n+\tInteger addition\tB+ I# I$ -\u003e 5\r\n-\tInteger subtraction\tB- I$ I# -\u003e 1\r\n*\tInteger multiplication\tB* I$ I# -\u003e 6\r\n/\tInteger division (truncated towards zero)\tB/ U- I( I# -\u003e -3\r\n%\tInteger modulo\tB% U- I( I# -\u003e -1\r\n\u003c\tInteger comparison\tB\u003c I$ I# -\u003e false\r\n\u003e\tInteger comparison\tB\u003e I$ I# -\u003e true\r\n=\tEquality comparison, works for int, bool and string\tB= I$ I# -\u003e false\r\n|\tBoolean or\tB| T F -\u003e true\r\n\u0026\tBoolean and\tB\u0026 T F -\u003e false\r\n.\tString concatenation\tB. S4% S34 -\u003e \"test\"\r\nT\tTake first x chars of string y\tBT I$ S4%34 -\u003e \"tes\"\r\nD\tDrop first x chars of string y\tBD I$ S4%34 -\u003e \"t\"\r\n$\tApply term x to y (see Lambda abstractions)\t\r\nIf\r\nindicator = ? with an empty body, followed by three ICFPs: the first should evaluate to a boolean,\r\nif it's true then the second is evaluated for the result, else the third. For example:\r\n\r\n? B\u003e I# I$ S9%3 S./     evaluates to no.\r\n\r\nLambda abstractions\r\nindicator = L is a lambda abstraction, where the body should be interpreted as a base-94 number \r\nin the same way as integers, which is the variable number, and it takes one ICFP as argument. \r\nindicator = v is a variable, with again a body being the base-94 variable number.\r\n\r\nWhen the first argument of the binary application operator $ evaluates to a lambda abstraction, \r\nthe second argument of the application is assigned to that variable. For example, the ICFP\r\n\r\nB$ B$ L# L$ v# B. SB%,,/ S}Q/2,$_ IK\r\nrepresents the program (e.g. in Haskell-style)\r\n\r\n((\\v2 -\u003e \\v3 -\u003e v2) (\"Hello\" . \" World!\")) 42\r\nwhich would evaluate to the string \"Hello World!\".\r\n\r\nEvaluation\r\nThe most prevalent ICFP messaging software, Macroware Insight, evaluates ICFP messages \r\nusing a call-by-name strategy. This means that the binary application operator is non-strict; \r\nthe second argument is substituted in the place of the binding variable \r\n(using capture-avoiding substitution). If an argument is not used in the body \r\nof the lambda abstraction, such as v3 in the above example, it is never evaluated. \r\nWhen a variable is used several times, the expression is evaluated multiple times.\r\n\r\nFor example, evaluation would take the following steps:\r\n\r\nB$ L# B$ L\" B+ v\" v\" B* I$ I# v8\r\nB$ L\" B+ v\" v\" B* I$ I#\r\nB+ B* I$ I# B* I$ I#\r\nB+ I' B* I$ I#\r\nB+ I' I'\r\nI-\r\nLimits\r\nAs communication with Earth is complicated, the Cult seems to have put some restrictions \r\non their Macroware Insight software. Specifically, message processing is aborted when \r\nexceeding 10_000_000 beta reductions. Built-in operators are strict (except for B$, \r\nof course) and do not count towards the limit of beta reductions. \r\nContestants' messages therefore must stay within these limits.\r\n\r\nFor example, the following term, which evaluates to 16, uses 109 beta reductions during evaluation:\r\n\r\nB$ B$ L\" B$ L# B$ v\" B$ v# v# L# B$ v\" B$ v# v# L\" L# ? B= v# I! I\" B$ L$ B+ B$ v\" v$ B$ v\" v$ B- v# I\" I%\r\nResearchers expect that the limit on the amount beta reductions is the only limit that \r\ncontestants may run into, but there seem to also be some (unknown) limits on memory usage \r\nand total runtime.\r\n\r\nUnknown operators\r\nThe above set of language constructs are all that researchers have discovered, \r\nand it is conjectured that the Cult will never use anything else in their communication \r\ntowards Earth. However, it is unknown whether more language constructs exist.\r\n%}\r\n\r\n","test_suite":"%%\r\nvalid=0;\r\n%   # Wall 0   L lambdaman 1,   . Cheese 2,   \r\n%11x16\r\nms=['.....########...'\r\n'....#...........'\r\n'...#..######....'\r\n'..#..#......#...'\r\n'.#..#...##...#..'\r\n'.#..#..#L.#...#.'\r\n'.#...#....#...#.'\r\n'..#...####...#..'\r\n'...#........#...'\r\n'....########....'\r\n'................'];\r\n\r\n[nr,nc]=size(ms);\r\nm=ones(nr,nc)*2; %Cheese bits are 2.\r\nm(ms=='#')=0; % Wall\r\nm(ms=='L')=1; % Landaman, start point\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\nfprintf('\\n');\r\n\r\nv = Lambdaman5(m);\r\nfprintf('Answer Length: %i\\n',length(v));\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman start point\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n valid=1;\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n%mc\r\n\r\nassert(valid)\r\n\r\n%The maze as Text\r\n%{\r\n.....########...\r\n....#...........\r\n...#..######....\r\n..#..#......#...\r\n.#..#...##...#..\r\n.#..#..#L.#...#.\r\n.#...#....#...#.\r\n..#...####...#..\r\n...#........#...\r\n....########....\r\n................\r\n%}","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-10T06:39:55.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-10T05:41:35.000Z","updated_at":"2025-12-16T01:40:53.000Z","published_at":"2024-07-10T06:39:55.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June 29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/icfp.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP Language\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is based on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Lambda_calculus\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLambda Calculus\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Lambdaman 5 maze is a 11x16 matrix L near middle. Points are '#' wall and '.' a cheese bit. Wall=0,L=1,Cheese=2 \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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eLambdaman 5 was given as an ICFP encrypted text String: Slllllaaaaaaaalll~llllalllllllllll~lllallaaaaaallll~llallallllllalll~lallalllaalllall~lallallaFlalllal~lalllallllalllal~llalllaaaalllall~lllallllllllalll~llllaaaaaaaallll~llllllllllllllll~\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.....########...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e....#...........\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e...#..######....\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e..#..#......#...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#..#...##...#..\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#..#..#L.#...#.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e.#...#....#...#.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e..#...####...#..\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e...#........#...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e....########....\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e................\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe contest's best Lambdaman5 solution was written in ICFP to reduce length versus ~150 U/R/D/L commands.\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\u003eB$ L\\\" B. S3/,6%},!-\\\"$!-!.Z} B$ v\\\" B$ v\\\" B$ v\\\" SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO L! B. B. v! v! v! which defines the function L\\\" as triple(x) from B$ L\\\" and L! B. B. v! v! v!  The usage B$ v\\\" invokes triple(x) thus the main becomes triple(triple(triple(SFOOLL\u0026gt;\u0026gt;LL\u0026gt;FO\u0026gt;\u0026gt;\u0026gt;FFL\u0026gt;\u0026gt;\u0026gt;FFFFOFOFFOLLLLOFOLO) )) or 27 repeats of the string.\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 big hint here is that ICFP O is U, \u0026gt; is D, F is L, and L is R when decrypted. Running into walls causes no movement and since this is a spiral maze there appears to be a short sequence that spans all the cheesy bits when repeated.  To me it was nuts that someone devised this short sequence.\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to return a string of commands [UDLR] with minimal matlab program size that eats all the cheese bits.\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\u003eI will be posting the entire ICFP2024 contest challenges and best 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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60628,"title":"ICFP2024 008: Lambdaman4 Breadth Solver","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nThe contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\r\n\r\nThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.","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: 675px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 337.5px; transform-origin: 407px 337.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 381.5px 8px; transform-origin: 381.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 420px; 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 210px; text-align: left; transform-origin: 384px 210px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 560px;height: 420px\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\" width=\"560\" height=\"420\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function pathbest = Lambdaman4_Breadth(m)\r\n% Maze 4 Fails miserably for pure breadth so key throat points checked for uneaten cheese\r\n% Work maze 4 via smallest cul-de-sac from any multi-choice path node\r\n%History of prior states maintained to eliminate duplicated states\r\n [nr,nc]=size(m);\r\n adj=[-1 1 -nr nr];\r\n %bn2=nnz(m(:)==2);\r\n stateh=zeros(95000,nr*nc,'int8');\r\n spath=zeros(95000,15,'uint8');\r\n c2=nnz(m(:)==2);\r\n statec2=ones(95000,1)*c2;\r\n stateh(1,:)=m(:);\r\n sptr=1; eptr=1;\r\n enptr=eptr;\r\n depth=0;\r\n \r\n %m3=nr*nc==72; % Hack for Lambdaman3\r\n m4=nr*nc==21*21;\r\n \r\n tic;\r\n while c2\u003e0\r\n  depth=depth+1;\r\n  if mod(depth,5)==0\r\n   fprintf('Depth:%i sptr:%i eptr:%i  Time:%.1f\\n',depth,sptr,eptr,toc)\r\n  end\r\n  for hptr=sptr:eptr\r\n   ms=stateh(hptr,:);\r\n   \r\n   Lidx=find(ms==1);\r\n   \r\n%    if m3 % Hack for Lambdaman3: Check chokepoints for completion\r\n%     if Lidx==26 \u0026\u0026 nnz(ms([62 52 34])==2),continue;end %Lower grp\r\n%     if Lidx==26 \u0026\u0026 ms(17)==3,continue;end % turn aroud\r\n%     if Lidx==12 \u0026\u0026 nnz(ms([24 22 32 14])==2),continue;end %Left grp\r\n%     if Lidx==12 \u0026\u0026 ms(11)==3,continue;end % turn aroud\r\n%     if Lidx==20 \u0026\u0026 ms(29)==3,continue;end % turn aroud\r\n%    end\r\n   \r\n% Lambdaman4\r\n% BR first L358  5.6s\r\n% BL first L348 11.3s\r\n% based on distance back to node after filling, max dist from node?\r\n    if m4 % Hack for Lambdaman4: Check chokepoints for completion\r\n    if Lidx==152 \u0026\u0026 nnz(ms([65 107 113 195])==2),continue;end %TL\r\n    if Lidx==152 \u0026\u0026 ms(5+7*21-1)==3,continue;end % turn aroud\r\n    \r\n     %if Lidx==172 \u0026\u0026 ms(401)==2,continue;end % TR\r\n     %if Lidx==276 \u0026\u0026 ms(317)==2,continue;end % TR\r\n     %if Lidx==360 \u0026\u0026 ms(403)==2,continue;end % TR\r\n    if Lidx==172 \u0026\u0026 nnz(ms([317 401 403])==2),continue;end %TL\r\n    if Lidx==172 \u0026\u0026 ms(193)==3,continue;end %Turn around\r\n    \r\n    if (Lidx==240 || Lidx==260) \u0026\u0026 ms(197)==2,continue;end  % Force shortest first\r\n\r\n%Go BL First\r\n    if Lidx==281 \u0026\u0026 ms(27)==2,continue;end %Abort BR before BL\r\n    \r\n     if Lidx==202 \u0026\u0026 ms(157)==2,continue;end % Mid BL LU Big slow down without\r\n     if Lidx==204 \u0026\u0026 ms(245)==2,continue;end % Mid BL\r\n    if Lidx==206 \u0026\u0026 nnz(ms([27 35 41 77 83  167])==2),continue;end % BL\r\n    \r\n    if Lidx==162 \u0026\u0026 ms(167)==2,continue;end % BL\r\n    if Lidx==118 \u0026\u0026 nnz(ms([77 41 83])==2),continue;end % BL\r\n    if Lidx==54 \u0026\u0026 nnz(ms([71 115])==2),continue;end % BL L 8,4 10,6\r\n    \r\n    if Lidx==96 \u0026\u0026 ms(54)==3 \u0026\u0026 nnz(ms([27 35])==2),continue;end % Missed 6,2 or 14,2\r\n    if Lidx==204 \u0026\u0026 ms(27)==3 \u0026\u0026 nnz(ms([209 251 293])==2),continue;end % Missed 20 [10 12 14]\r\n\r\n    \r\n    if Lidx==280 \u0026\u0026 ms(323)==2,continue;end % BR\r\n      if Lidx==281 \u0026\u0026 ms(280)==3,continue;end % turn around\r\n      \r\n     if Lidx==364 \u0026\u0026 ms(405)==2,continue;end % BR\r\n       if Lidx==363 \u0026\u0026 ms(364)==3,continue;end % turn around\r\n     if Lidx==368 \u0026\u0026 ms(325)==2,continue;end % BR\r\n       if Lidx==367 \u0026\u0026 ms(368)==3,continue;end % turn around\r\n     if Lidx==388 \u0026\u0026 nnz(ms([373 371])==2),continue;end %BR\r\n     if Lidx==286 \u0026\u0026 nnz(ms([283 243])==2),continue;end % BR 10.7s\r\n        \r\n   end % BL first\r\n   \r\n   \r\n   \r\n   Cadj=ms(adj+Lidx);\r\n   msn=ms;\r\n   msn(Lidx)=3; %Lambdaman will move\r\n   for i=1:4 % UDLR\r\n    if Cadj(i)==0,continue;end % Ignore into wall Cadj==0 movement\r\n     Lidxn=Lidx+adj(i);\r\n     msn(Lidxn)=1;\r\n     \r\n     c2=nnz(msn==2);\r\n     ptr1=find(msn==2,1,'first');\r\n     ptr2=find(msn==2,1,'last');\r\n     cvec=statec2(1:enptr)==c2; % Reduce vector check only to c2 qty vectors\r\n     cvec=cvec \u0026 stateh(1:enptr,Lidxn)==1 \u0026 stateh(1:enptr,ptr1)==2 \u0026 stateh(1:enptr,ptr2)==2;\r\n     if nnz(cvec) % Perform a check\r\n      if nnz(sum(abs(stateh(cvec,:)-msn),2)==0) %23K/1.9s Pre-exist state check\r\n        msn(Lidxn)=ms(Lidxn); % Reset msn\r\n       continue; %Abort when create an existing prior state\r\n      end\r\n     end\r\n     \r\n     enptr=enptr+1; % new valid state\r\n     spath(enptr,:)=spath(hptr,:);\r\n     spath(enptr,depth)=i; % UDLR as 1 2 3 4\r\n     stateh(enptr,:)=msn;\r\n     msn(Lidxn)=ms(Lidxn); % Reset msn\r\n     statec2(enptr)=c2;\r\n          \r\n     if c2==0,break;end\r\n   end % UDLR\r\n   if c2==0\r\n    eptr=enptr;\r\n    break;\r\n   end\r\n   \r\n  end % hptr\r\n  sptr=eptr+1; % update wave\r\n  eptr=enptr;\r\n   \r\n end % while  c2\u003e0\r\n \r\n UDLR='UDLR';\r\n pathbest=UDLR(spath(eptr,1:depth));\r\n fprintf('BestPath:');fprintf('%s',pathbest);fprintf('\\n')\r\n  \r\nend","test_suite":"%%\r\nvalid=0;\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n\r\n%Lambdaman 4  optimal solution L348 DDLLRRUULLUUUUDDDDLLUULLUURRLLDDRRDDRRRRRRLLUUUURRRRRRDDRRRRUURRLLDDRRLLLLLLUURRLLLLLLLLDDRRRRDDDDLLRRDDLLDDLLUUDDRRDDRRLLDDLLDDDDUUUUUULLDDDDDDLLRRUULLLLUURRUUDDLLDDDDUURRRRUUUUUULLUUUUDDRRLLDDLLUUUUUUDDDDDDDDUURRRRDDRRDDRRDDDDUURRDDUURRDDUULLLLUUUUUUUURRUURRRRLLUURRRRRRLLDDRRDDDDDDDDLLRRUULLRRUUUULLLLRRDDLLLLUUDDLLRRDDRRDDLLLLRRRRDDDDRRRRLLUURR\r\n ms=[ ...\r\n'...#.#.........#...'\r\n'.###.#.#####.###.##'\r\n'...#.#.....#.......'\r\n'##.#.#.###.########'\r\n'.#....L..#.#.......'\r\n'.#####.###.#.###.##'\r\n'.#.#...#.......#...'\r\n'.#.#######.#######.'\r\n'.#...#.#...#.#.....'\r\n'.#.###.#.###.###.#.'\r\n'.....#...#.......#.'\r\n'.###.###.###.#####.'\r\n'.#.#...#...#...#...'\r\n'##.#.#.#.#####.###.'\r\n'...#.#...#.....#...'\r\n'.###.#.#.#####.####'\r\n'.....#.#.....#.#...'\r\n'.###.#.#.#.#.#.#.##'\r\n'.#...#.#.#.#.#.....'];\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nfor i=1:nr % Display maze numeric\r\n fprintf('%i',m(i,:));fprintf('\\n');\r\nend\r\n\r\nztic=tic;\r\nv = Lambdaman4_Breadth(m);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\nfprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)==0\r\n if length(v)\u003c=348\r\n  valid=1;\r\n else\r\n  fprintf('Length \u003c=348 required. Given length:%i\\n',length(v));\r\n end\r\nelse\r\n fprintf('Failed to Clear - remaining cheesy bits\\n');\r\n for i=1:nr % Display maze numeric\r\n  fprintf('%i',mc(i,:));fprintf('\\n');\r\n end\r\nend\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nassert(valid)\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-15T04:13:17.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-15T03:21:20.000Z","updated_at":"2024-07-15T04:13:17.000Z","published_at":"2024-07-15T04:11:11.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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 contest's best known Lambdaman4 solution is 348 U/R/D/L commands by completing the lower left before lower right.\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=\\\"420\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"560\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is to solve Lamdaman maze 4 by eating all the cheese via a char path of UDLR, with a program smaller than the template. The template implements a breadth first search with prior state check and a Hack specifically for Maze 4.  Known suspected Optimal length solution of 348  or better required. This maze has no loops but multiple cul-de-sacs. Fill smallest branch first to minimize total length.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":60651,"title":"ICFP2024 011:Lambdaman Small programmed solutions","description":"The ICFP2024 contest was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\r\nThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\r\nThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\r\nSolve these mazes while having a total file size including comments less than 1000.\r\n%Descriptions\r\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\r\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: size(50,50) with L at 1,1\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: 316.6px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 440.5px 158.3px; transform-origin: 440.5px 158.3px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14.5px 8px; transform-origin: 14.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://icfpcontest2024.github.io/task.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eICFP2024 contest\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: 300px 8px; transform-origin: 300px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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: 317.5px 8px; transform-origin: 317.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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: 357.5px 8px; transform-origin: 357.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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: 260.5px 8px; transform-origin: 260.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSolve these mazes while having a total file size including comments less than 1000.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 122.6px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 437.5px 61.3px; transform-origin: 437.5px 61.3px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 52px 8.5px; tab-size: 4; transform-origin: 52px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%Descriptions\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 172px 8.5px; tab-size: 4; transform-origin: 172px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 412px 8.5px; tab-size: 4; transform-origin: 412px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 144px 8.5px; tab-size: 4; transform-origin: 144px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%6: size(1,200) with L at 1,1 199 Rs\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 304px 8.5px; tab-size: 4; transform-origin: 304px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 437.5px 10.2167px; transform-origin: 437.5px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"border-block-end-color: rgb(2, 128, 9); border-block-start-color: rgb(2, 128, 9); border-bottom-color: rgb(2, 128, 9); border-inline-end-color: rgb(2, 128, 9); border-inline-start-color: rgb(2, 128, 9); border-left-color: rgb(2, 128, 9); border-right-color: rgb(2, 128, 9); border-top-color: rgb(2, 128, 9); caret-color: rgb(2, 128, 9); color: rgb(2, 128, 9); column-rule-color: rgb(2, 128, 9); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(2, 128, 9); text-decoration-color: rgb(2, 128, 9); text-emphasis-color: rgb(2, 128, 9); \"\u003e%9: size(50,50) with L at 1,1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [path]=case_solutions(m,ICFP_id)\r\n% This is pre-programmed solutions for multiple ICFP_ids\r\n%The goal is to minimize programming size and solve each ID\r\n%Total m size is limited and checked by test suite. No 10s allowed\r\n\r\n%Descriptions\r\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\r\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: size(50,50) with L at 1,1\r\nif ICFP_id==1\r\n path='UDLLLDURRRRRURR';\r\nelseif ICFP_id==5 \r\n path='';\r\nelseif ICFP_id==6 \r\n path='';\r\nelseif ICFP_id==8 \r\n path='';\r\nelseif ICFP_id==9\r\n path='';\r\nelse\r\n path='';\r\nend\r\n\r\nend % case solutions","test_suite":"%%\r\nvalid=1;\r\n%Accessing dir to get file size\r\nz=dir;\r\nzdata=struct2table(z);\r\nzdir_idx=find(strcmp(zdata.name,'case_solutions.m'));\r\nmsize=z(zdir_idx).bytes;\r\nif msize\u003e1000\r\n valid=0;\r\n fprintf('Fail m file size check of 1000. Your m file size is %i\\n\\n',msize)\r\nelse\r\n fprintf('Passed m file size check of 1000. With m file size being %i\\n\\n',msize)  \r\nend\r\n\r\n%Loop through cases \r\n%Descriptions\r\n% L lambdaman 1,   . Cheese 2,   # Wall 0\r\n%1: Small puzzle 15 moves: UDLLLDURRRRRURR\r\n%5: Spiral (11,16) L mid. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\r\n%6: size(1,200) with L at 1,1 199 Rs\r\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\r\n%9: Open square size(50,50) with L at 1,1\r\nfor m_id=[1 5 6 8 9]\r\n\r\nif m_id==1\r\n%Lambdaman 1  optimal solution L15\r\n   ms=['###.#...'\r\n       '...L..##'\r\n       '.#######'];\r\nelseif m_id==5\r\n   ms=[ ...\r\n'.....########...'\r\n'....#...........'\r\n'...#..######....'\r\n'..#..#......#...'\r\n'.#..#...##...#..'\r\n'.#..#..#L.#...#.'\r\n'.#...#....#...#.'\r\n'..#...####...#..'\r\n'...#........#...'\r\n'....########....'\r\n'................'];\r\nelseif m_id==6\r\n ms=repelem('.',200);\r\n ms(1)='L';\r\nelseif m_id==8\r\n      ms=[...\r\n'###################################################################################################'\r\n'#.................................................................................................#'\r\n'#.###############################################################################################.#'\r\n'#.#.............................................................................................#.#'\r\n'#.#.###########################################################################################.#.#'\r\n'#.#.#.........................................................................................#.#.#'\r\n'#.#.#.#######################################################################################.#.#.#'\r\n'#.#.#.#.....................................................................................#.#.#.#'\r\n'#.#.#.#.###################################################################################.#.#.#.#'\r\n'#.#.#.#.#.................................................................................#.#.#.#.#'\r\n'#.#.#.#.#.###############################################################################.#.#.#.#.#'\r\n'#.#.#.#.#.#.............................................................................#.#.#.#.#.#'\r\n'#.#.#.#.#.#.###########################################################################.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.........................................................................#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#######################################################################.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.....................................................................#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.###################################################################.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.................................................................#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.###############################################################.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.............................................................#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.###########################################################.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.........................................................#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#######################################################.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.....................................................#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.###################################################.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.................................................#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.###############################################.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................................#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###############################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###############.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###########.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.........#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#L#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...............#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.......................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#.#########################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#.#############################################.#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#...............................................#.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#.#################################################.#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#...................................................#.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.#####################################################.#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#.......................................................#.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#.#########################################################.#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#...........................................................#.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#.#############################################################.#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#...............................................................#.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#.#################################################################.#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#...................................................................#.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.#####################################################################.#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#.......................................................................#.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#.#########################################################################.#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#...........................................................................#.#.#.#.#.#.#'\r\n'#.#.#.#.#.#############################################################################.#.#.#.#.#.#'\r\n'#.#.#.#.#...............................................................................#.#.#.#.#.#'\r\n'#.#.#.#.#################################################################################.#.#.#.#.#'\r\n'#.#.#.#...................................................................................#.#.#.#.#'\r\n'#.#.#.#####################################################################################.#.#.#.#'\r\n'#.#.#.......................................................................................#.#.#.#'\r\n'#.#.#########################################################################################.#.#.#'\r\n'#.#...........................................................................................#.#.#'\r\n'#.#############################################################################################.#.#'\r\n'#...............................................................................................#.#'\r\n'#################################################################################################.#'\r\n'..................................................................................................#'\r\n'###################################################################################################'];\r\nelse\r\n %9: Open square size(50,50) with L at 1,1\r\n ms=repmat('.',50,50);\r\n ms(1)='L'; \r\nend % m+id cases\r\n\r\n[nr,nc]=size(ms);\r\nmb=ones(nr,nc)*2; %Cheese bits are 2.\r\nmb(ms=='#')=0; % Wall\r\nmb(ms=='L')=1; % Landaman, start point\r\nm=zeros(nr+2,nc+2);\r\nm(2:end-1,2:end-1)=mb; %Wall surrounded maze\r\n[nr,nc]=size(m);\r\n\r\nzmap=[0 0 0;1 0 0;0 1 0;0 0 1]; % maps to 1:4\r\nfigure;image(m+1);colormap(zmap);axis equal;axis tight\r\n\r\nztic=tic;\r\nv = case_solutions(m,m_id);\r\n\r\nfprintf('Answer Length: %i  Time:%.2f\\n',length(v),toc(ztic));\r\n%fprintf('Path:');fprintf('%s',v);fprintf('\\n')\r\n\r\nmc=m==2; %Create cheese binary matrix for processing path coverage\r\n\r\n[r,c]=find(m==1); % Lambdaman\r\nfor i=1:length(v)\r\n if v(i)=='R' % R\r\n  if c+1\u003c=nc\r\n    if m(r,c+1)\u003e0\r\n     c=c+1;\r\n    end\r\n  end\r\n elseif v(i)=='L' % L\r\n  if c-1\u003e=1\r\n    if m(r,c-1)\u003e0\r\n     c=c-1;\r\n    end\r\n  end\r\n elseif v(i)=='U' % U\r\n  if r-1\u003e=1\r\n   if m(r-1,c)\u003e0\r\n     r=r-1;\r\n   end\r\n  end\r\n elseif v(i)=='D' % D\r\n  if r+1\u003c=nr\r\n    if m(r+1,c)\u003e0\r\n     r=r+1;\r\n    end\r\n  end\r\n end\r\n mc(r,c)=0; \r\n if nnz(mc)==0,break;end\r\nend\r\n\r\nif nnz(mc)\u003e0\r\n  valid=0;\r\n  fprintf('In ICFP %i Failed to Clear - remaining cheesy bits\\n',m_id);\r\nelse\r\n  fprintf('Passed ICFP %i\\n\\n',m_id)\r\nend\r\n\r\nend % for m_id\r\n\r\nassert(valid)\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":3097,"edited_at":"2024-07-18T18:19:17.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-07-18T17:00:26.000Z","updated_at":"2024-07-18T18:19:18.000Z","published_at":"2024-07-18T18:16:55.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\u003eThe \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://icfpcontest2024.github.io/task.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eICFP2024 contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e was held June29 thru July 1. The contest consisted of five parts: ICFP Language, Lambdaman maze, Starship flying, 3D - graph programming, and  Efficiency - processing complex ICFP message to a numerical value.\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 Lambdaman 4 maze is medium size,21x21, L near top left,  '.' a cheese bit, # is Wall. Matrix uses Wall=0,L=1,Cheese=2. Encircling Walls are added to all mazes.\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 contest goal was to write a minimal size, bytes, expression that moves L, Lambdaman, to eat each cheese bit.\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\u003eSolve these mazes while having a total file size including comments less than 1000.\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[%Descriptions\\n%1: Small puzzle 15 moves: UDLLLLDURRRRRURR\\n%5: Spiral (11,16) L at middle. ICFP best repeated  'LUURRDDRRDLUDDDLLRDDDLLLLULULLURRRRULURU' 27 times\\n%6: size(1,200) with L at 1,1 199 Rs\\n%8: Spiral(100,100) L at middle. Counter clockwise starting with D to escape\\n%9: size(50,50) with L at 1,1]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42778,"title":"GJam March 2016 IOW: Polynesiaglot Medium","description":"This Challenge is derived from GJam March 2016 Annual I/O for Polynesiaglot. This is a subset of small set 2. The max Qraw is 2^50 (\u003c1.1259e15) for C[1,50], V[1,50], L[1,15].\r\nThe GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\r\nInput: [C V L] , C[1,50], V[1,50], 1\u003c=L\u003c=15\r\nOutput: [Q] max Qraw is 2^50 (\u003c1.1259e15); Q=mod(Qraw,1E9+7)\r\nExamples: [C V L] [Q]\r\n[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid are {bbaa, aaab} \r\n[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid are {ab,eb,bb}\r\nGoogle Code Jam 2016 Open Qualifier: April 8, 2016\r\nTheory: This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-1)\r\nQ3    V          C\r\nQ2  V   C       V\r\nQ1 V   V       V\r\n\r\nThis medium challenge has eps(Qraw) \u003c0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 522.625px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 261.312px; transform-origin: 407.5px 261.312px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 21px; text-align: left; transform-origin: 384.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam March 2016 Annual I/O for Polynesiaglot\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. This is a subset of small set 2. The max Qraw is 2^50 (\u0026lt;1.1259e15) for C[1,50], V[1,50], L[1,15].\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: 384.5px 21px; text-align: left; transform-origin: 384.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [C V L] , C[1,50], V[1,50], 1\u0026lt;=L\u0026lt;=15\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [Q] max Qraw is 2^50 (\u0026lt;1.1259e15); Q=mod(Qraw,1E9+7)\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExamples:\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e [C V L] [Q]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.875px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 20.4375px; transform-origin: 404.5px 20.4375px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eare {bbaa, aaab} \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eare {ab,eb,bb}\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; \"\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; 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: 384.5px 42px; text-align: left; transform-origin: 384.5px 42px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\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: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-1)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 81.75px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 40.875px; transform-origin: 404.5px 40.875px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ3    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eC\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ2  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eC\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eQ1 \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e       \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384.5px 31.5px; text-align: left; transform-origin: 384.5px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis medium challenge has eps(Qraw) \u0026lt;0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function Q=Polyglot(m)\r\n% Q total words of length L using C consonants and V vowels\r\n% Q is modulo 1E9+7\r\n C=m(1); V=m(2);L=m(3); %\r\n Q=0;\r\n\r\nend","test_suite":"%%\r\ntic\r\nm=[2 8 15 ];\r\nv=Polyglot(m);\r\nvexp=[6938704 ];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 7 15 ];\r\nv=Polyglot(m);\r\nvexp=[853390015];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 2 ];\r\nv=Polyglot(m);\r\nvexp=[8];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 3 ];\r\nv=Polyglot(m);\r\nvexp=[24];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 2 15];\r\nv=Polyglot(m);\r\nvexp=[32342016 ];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 2];\r\nv=Polyglot(m);\r\nvexp=[12];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 3];\r\nv=Polyglot(m);\r\nvexp=[40];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[4 2 4];\r\nv=Polyglot(m);\r\nvexp=[176];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[44 2 15];\r\nv=Polyglot(m);\r\nvexp=[916593151];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[1 3 15];\r\nv=Polyglot(m);\r\nvexp=[397629405];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 3 15];\r\nv=Polyglot(m);\r\nvexp=[105078522];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 4 15];\r\nv=Polyglot(m);\r\nvexp=[133836675];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 8 15];\r\nv=Polyglot(m);\r\nvexp=[6938704];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[2 8 14];\r\nv=Polyglot(m);\r\nvexp=[624439943];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 2];\r\nv=Polyglot(m);\r\nvexp=[5000];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 3];\r\nv=Polyglot(m);\r\nvexp=[375000];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[50 50 7];\r\nv=Polyglot(m);\r\nvexp=[249885158];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[10 20 10];\r\nv=Polyglot(m);\r\nvexp=[998720967];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[5 10 13];\r\nv=Polyglot(m);\r\nvexp=[746816099];\r\nassert(isequal(vexp,v))\r\n%%\r\nm=[1 1 13 ];\r\nv=Polyglot(m);\r\nvexp=[377 ];\r\nassert(isequal(vexp,v))\r\n\r\n\r\ntoc\r\n","published":true,"deleted":false,"likes_count":10,"comments_count":2,"created_by":3097,"edited_by":7,"edited_at":"2023-07-14T16:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-19T18:33:48.000Z","updated_at":"2025-05-06T02:18:33.000Z","published_at":"2016-03-19T20:24:10.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\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam March 2016 Annual I/O for Polynesiaglot\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. This is a subset of small set 2. The max Qraw is 2^50 (\u0026lt;1.1259e15) for C[1,50], V[1,50], L[1,15].\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 GJam story goes that words are such that consonants are always followed by a vowel. Determine the number of possible words of length L using C consonants and V vowels. The final Q is to be modulo of the prime 1E9+7.\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 [C V L] , C[1,50], V[1,50], 1\u0026lt;=L\u0026lt;=15\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 [Q] max Qraw is 2^50 (\u0026lt;1.1259e15); Q=mod(Qraw,1E9+7)\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e [C V L] [Q]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[1 1 4] [5] {aaaa,aaba,abaa,baaa,baba}  invalid are {bbaa, aaab} \\n[1 2 2] [6] {aa,ae,ba,be,ee,ea} invalid are {ab,eb,bb}]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eGoogle Code Jam 2016 Open Qualifier: April 8, 2016\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e This is a large value problem, on the order of (C+V)^L, thus brute force will not work. This is also a probability tree type problem. Tree calculations can be reduced to a linear in L evaluation. Inspection shows Q(1)=V, Q(2)=V^2, L=3 Q(3)=V^3+V*C*V+C*V^2 = V*Q(L-1)+V*C*Q(L-2)+C*Q(L-1). There are no Cs at the Q1 level since can not end in a C. Qnext=f(Q(-1),Q(-2)). Qfinal=Q+C*Q(-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[Q3    V          C\\nQ2  V   C       V\\nQ1 V   V       V\\n]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis medium challenge has eps(Qraw) \u0026lt;0.25 so normal matlab doubles work. For the unbounded case a solution method is to convert this Challenge algorithm to Matlab BigInteger java calls. Solution sizes are on the order of (C+V)^L with the large case being C=50,V=50,L=500.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":61048,"title":"Chrono Matrix: Reconstructing the Time Portal","description":"Your time-travel scanner has captured fragments of a portal matrix scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\r\nYou are given a cell array C of equal-sized numeric matrices (e.g., 3×3 or 4×4).\r\nEach cell represents one temporal fragment. Some entries are NaN, indicating lost information.\r\nYour function should:\r\nCombine all matrices into a single matrix of the same size.\r\nFor each element position (i,j):\r\nIgnore NaN values.\r\nTake the average of all non-NaN entries at that position across matrices.\r\nIf all are NaN → output NaN for that position.\r\nRound results to 4 decimal places.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 325.625px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 162.812px; transform-origin: 408px 162.812px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 31.5px; text-align: left; transform-origin: 385px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour time-travel scanner has captured fragments of a \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eportal matrix\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are given a \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecell array \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of equal-sized numeric matrices (e.g., 3×3 or 4×4).\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eEach cell represents one temporal fragment. Some entries are \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNaN\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, indicating lost information.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour function should:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4375px; transform-origin: 392px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCombine all matrices into a single matrix of the same size.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor each element position \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e(i,j)\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003cul style=\"block-size: 61.3125px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 30.65px; transform-origin: 392px 30.6562px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIgnore \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e values.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTake the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eaverage of all non-NaN entries\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at that position across matrices.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eall\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are NaN → output \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for that position.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003col style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2125px; transform-origin: 392px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2125px; text-align: left; transform-origin: 364px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eRound results to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e4 decimal places\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chronoRebuild(C)\r\n  y = x;\r\nend","test_suite":"%%\r\nC = {\r\n    [1 NaN 3;\r\n     2 4 NaN],\r\n    [NaN 2 3;\r\n     2 NaN 6],\r\n    [1 2 NaN;\r\n     NaN 4 6]\r\n    };\r\ny_correct = [1.0000 2.0000 3.0000;2.0000 4.0000 6.0000];\r\nassert(isequal(chronoRebuild(C),y_correct))\r\n\r\n%%\r\nC = {\r\n    [NaN NaN;\r\n     2 4],\r\n    [2 6;\r\n     NaN NaN]\r\n    };\r\ny_correct = [2.0000 6.0000;2.0000 4.0000];\r\nassert(isequal(chronoRebuild(C),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4953963,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-10-23T13:13:25.000Z","updated_at":"2026-03-05T14:00:58.000Z","published_at":"2025-10-23T13:13:25.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\u003eYour time-travel scanner has captured fragments of a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eportal matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e scattered across eras. Each fragment contains partial information about the transformation between two time coordinates. You must rebuild the full matrix by averaging corresponding overlapping fragments. The balance of time depends on the symmetry of your reconstruction!\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\u003eYou are given a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecell array \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of equal-sized numeric matrices (e.g., 3×3 or 4×4).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach cell represents one temporal fragment. Some entries are \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, indicating lost 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour function should:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCombine all matrices into a single matrix of the same size.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor each element position \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(i,j)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIgnore \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e values.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTake the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eaverage of all non-NaN entries\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e at that position across matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eall\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are NaN → output \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e for that position.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRound results to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e4 decimal places\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42762,"title":"Is 3D point set Co-Planar?","description":"This Challenge is to determine if four 3D integer points are co-planar.\r\nGiven a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\r\n\r\nExamples\r\n\r\n m = [0 0 0;1 0 0;0 1 0;0 0 1] \r\n Output: False, this point set is non-coplanar.\r\n\r\n m = [0 0 0;0 0 1;1 1 0;1 1 1]\r\n Output: True, this point set is co-planar.\r\n\r\nReference: The \u003chttp://68.173.157.131/Contest/Tetrahedra March 2016 Al Zimmermann Non-Coplanar contest\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 solutions.\r\n\r\nTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\r\n","description_html":"\u003cp\u003eThis Challenge is to determine if four 3D integer points are co-planar.\r\nGiven a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\u003c/p\u003e\u003cp\u003eExamples\u003c/p\u003e\u003cpre\u003e m = [0 0 0;1 0 0;0 1 0;0 0 1] \r\n Output: False, this point set is non-coplanar.\u003c/pre\u003e\u003cpre\u003e m = [0 0 0;0 0 1;1 1 0;1 1 1]\r\n Output: True, this point set is co-planar.\u003c/pre\u003e\u003cp\u003eReference: The \u003ca href = \"http://68.173.157.131/Contest/Tetrahedra\"\u003eMarch 2016 Al Zimmermann Non-Coplanar contest\u003c/a\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 solutions.\u003c/p\u003e\u003cp\u003eTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\u003c/p\u003e","function_template":"function TF = iscoplanar(m)\r\n% m is a 4x3 matrix\r\n  TF=false;\r\nend","test_suite":"%%\r\nm=[0 0 1;1 1 0;1 0 1;2 0 0];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 1 2];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;0 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 1;1 1 0;1 0 1;2 0 1];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[2 0 0;1 2 0;2 1 1;2 2 2];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[2 0 0;1 2 0;2 1 1;2 1 2];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;0 0 1];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;1 1 1];\r\ny_correct = false;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;1 0 0;0 1 0;1 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n%%\r\nm=[0 0 0;0 0 1;1 1 1;1 1 0];\r\ny_correct = true;\r\nassert(isequal(iscoplanar(m),y_correct))\r\n\r\n%0 0 0 \r\n%1 0 0 \r\n%0 1 0 \r\n%0 0 1 \r\n%1 1 1","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-03-05T21:58:07.000Z","updated_at":"2026-04-04T03:46:57.000Z","published_at":"2016-03-06T19:31:31.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to determine if four 3D integer points are co-planar. Given a 4x3 matrix representing four x,y,z integer points, output True if the set is co-planar and False otherwise.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples\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[ m = [0 0 0;1 0 0;0 1 0;0 0 1] \\n Output: False, this point set is non-coplanar.\\n\\n m = [0 0 0;0 0 1;1 1 0;1 1 1]\\n Output: True, this point set is co-planar.]]\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\u003eReference: The\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://68.173.157.131/Contest/Tetrahedra\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMarch 2016 Al Zimmermann Non-Coplanar contest\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is to maximize the number of points in an NxNxN cube with no 4 points in a common plane. Future challenge will be to find N=2 and N=3 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTheory: Plane is defined as Ax+By+cZ=D. [A,B,C] can be found using cross of 3 points. D can be found by substitution using any of these 3 points. Co-Planarity of the fourth point is True if Ax4+By4+Cz4==D\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":47385,"title":"Find Logic 28","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 251.571px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 125.786px; transform-origin: 174px 125.786px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 21\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 25\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 22\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 38\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 33\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(6) = 69\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will written 'x' th term of sequence.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = 21;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 21;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 22;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 38;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 33;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":200,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-06T17:21:56.000Z","updated_at":"2026-02-19T09:52:52.000Z","published_at":"2020-11-06T17:21:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 21\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\u003elogic(2) = 25\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\u003elogic(3) = 22\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\u003elogic(4) = 38\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\u003elogic(5) = 33\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\u003elogic(6) = 69\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\u003eMake a function logic(x) which will written 'x' th term of sequence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47275,"title":"Find Logic 12","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 161.714px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 80.8571px; transform-origin: 174px 80.8571px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 31;\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":351,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T11:44:39.000Z","updated_at":"2026-02-14T07:03:57.000Z","published_at":"2020-11-04T11:44:39.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 10\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\u003eMake a function logic(x) which will return 'x' th term of logic\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":61037,"title":"The MATLAB Treasure Hunt – Locate the Hidden Treasure in the Chamber of Coordinates","description":"Inside the Chamber of Coordinates, glowing runes show several coordinate points on a 2D grid.\r\nThe treasure lies closest to the origin (0,0).\r\nGiven two numeric vectors x and y representing the coordinates of points, return the index of the point nearest to the origin.\r\nIf multiple points are equally close, return the smallest index.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 111px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 55.5px; transform-origin: 408px 55.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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eInside the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eChamber of Coordinates\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, glowing runes show several coordinate points on a 2D grid.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe treasure lies \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eclosest to the origin (0,0)\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two numeric vectors \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ex\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ey\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e representing the coordinates of points, return the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eindex\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of the point nearest to the origin.\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: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf multiple points are equally close, return the \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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003esmallest index\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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = treasureIndex(x,y)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [3 -1 0];\r\ny = [4 2 1];\r\ny_correct = 3;\r\nassert(isequal(treasureIndex(x,y),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4953963,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":64,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-10-21T12:26:21.000Z","updated_at":"2026-03-10T14:21:56.000Z","published_at":"2025-10-21T12:26:21.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\u003eInside the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eChamber of Coordinates\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, glowing runes show several coordinate points on a 2D grid.\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 treasure lies \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eclosest to the origin (0,0)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two numeric vectors \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e representing the coordinates of points, return the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eindex\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of the point nearest to the origin.\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\u003eIf multiple points are equally close, return the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esmallest index\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1646,"title":"Kurchan 3x3 - Optimal Score","description":"Find an optimal 3x3 Kurchan square, score of 198. \r\n\r\nA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\r\n\r\nThe Kurchan-value is the Max minus the Minimum of these products.\r\n\r\n*Example: m=[5 1 8;3 9 4;7 2 6]*\r\n\r\nRow Products: 40,108, and 84. Column products 105, 18, and 192.\r\n\r\nDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\r\n\r\nAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\r\n\r\nK is thus 504-18 = 486. [ Max of all products - Min of all products ]\r\n\r\n*Input:* None\r\n\r\n*Output:* Kurchan Square [3x3] that scores 198\r\n\r\nI expect someone to give a min size hardcoded solution at some point.\r\n\r\nRelated Challenges:\r\n\r\n1) \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1634-kurchan-square-evaluation-function Kurchan Square Evaluation\u003e\r\n\r\n2) Minimize Kurchan Squares (N=4:9)\r\n\r\n3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\r\n\r\n4) Maximize Sum of Products (N=4:9) and a Large number Challenge\r\n\r\n5) Minimize Sum of Products (N=4:9) and a Large number Challenge","description_html":"\u003cp\u003eFind an optimal 3x3 Kurchan square, score of 198.\u003c/p\u003e\u003cp\u003eA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\u003c/p\u003e\u003cp\u003eThe Kurchan-value is the Max minus the Minimum of these products.\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample: m=[5 1 8;3 9 4;7 2 6]\u003c/b\u003e\u003c/p\u003e\u003cp\u003eRow Products: 40,108, and 84. Column products 105, 18, and 192.\u003c/p\u003e\u003cp\u003eDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\u003c/p\u003e\u003cp\u003eAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\u003c/p\u003e\u003cp\u003eK is thus 504-18 = 486. [ Max of all products - Min of all products ]\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e None\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Kurchan Square [3x3] that scores 198\u003c/p\u003e\u003cp\u003eI expect someone to give a min size hardcoded solution at some point.\u003c/p\u003e\u003cp\u003eRelated Challenges:\u003c/p\u003e\u003cp\u003e1) \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1634-kurchan-square-evaluation-function\"\u003eKurchan Square Evaluation\u003c/a\u003e\u003c/p\u003e\u003cp\u003e2) Minimize Kurchan Squares (N=4:9)\u003c/p\u003e\u003cp\u003e3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\u003c/p\u003e\u003cp\u003e4) Maximize Sum of Products (N=4:9) and a Large number Challenge\u003c/p\u003e\u003cp\u003e5) Minimize Sum of Products (N=4:9) and a Large number Challenge\u003c/p\u003e","function_template":"function m = kurchan_3x3\r\n  m=zeros(3);\r\nend","test_suite":"%%\r\ntic\r\nm = kurchan_3x3\r\ntoc\r\n p=[1     4     7\r\n     2     5     8\r\n     3     6     9\r\n     1     2     3\r\n     4     5     6\r\n     7     8     9\r\n     1     5     9\r\n     4     8     3\r\n     7     2     6\r\n     7     5     3\r\n     8     6     1\r\n     9     4     2];\r\nassert(isequal((1:9)',unique(m(:)))) % check use 1 thru 9\r\nmp=prod(m(p),2);\r\nK=max(mp)-min(mp) % display K score\r\n\r\n% simplified Kurchan scoring for 3x3\r\n\r\nassert(K\u003c=198)  % Pretty certain 198 is best possible, allow better score\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":30,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-06-13T04:20:37.000Z","updated_at":"2025-11-27T17:20:36.000Z","published_at":"2013-06-13T05:10:56.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 an optimal 3x3 Kurchan square, score of 198.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA 3x3 Kurchan square has values 1:9.The products of each row, column, diagonal, and anti-diagonal are used\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 Kurchan-value is the Max minus the Minimum of these products.\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: m=[5 1 8;3 9 4;7 2 6]\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\u003eRow Products: 40,108, and 84. Column products 105, 18, and 192.\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\u003eDiagonal Products: 270, 1*4*7=28, and 8*3*2=48.\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\u003eAnti-Diagonal Products: 8*9*7=504, 1*3*6=18, and 5*4*2=40.\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\u003eK is thus 504-18 = 486. [ Max of all products - Min of all products ]\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 None\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 Kurchan Square [3x3] that scores 198\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\u003eI expect someone to give a min size hardcoded solution at some point.\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\u003eRelated Challenges:\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\u003e1)\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/cody/problems/1634-kurchan-square-evaluation-function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eKurchan Square Evaluation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003e2) Minimize Kurchan Squares (N=4:9)\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\u003e3) Minimize Kurchan Squares (N=10:20) [Very large numbers]\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\u003e4) Maximize Sum of Products (N=4:9) and a Large number Challenge\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\u003e5) Minimize Sum of Products (N=4:9) and a Large number Challenge\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":47320,"title":"Find Logic 17","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 281.524px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 140.762px; transform-origin: 174px 140.762px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,1) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,2) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,1) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,2) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,3) = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2,3) = 11\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1,4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a Function logic(a,b) which will return value according to problem\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(a,b)\r\n  y = 3;\r\nend","test_suite":"%%\r\na = 1;\r\nb = 1;\r\ny_correct = 3;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 1;\r\nb = 2;\r\ny_correct = 5;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 2;\r\nb = 3;\r\ny_correct = 11;\r\nassert(isequal(logic(a,b),y_correct))\r\n\r\n%%\r\na = 3;\r\nb = 5;\r\ny_correct = 23;\r\nassert(isequal(logic(a,b),y_correct))","published":true,"deleted":false,"likes_count":7,"comments_count":2,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":457,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-05T15:48:34.000Z","updated_at":"2026-02-14T06:58:04.000Z","published_at":"2020-11-05T15:48:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the Logic!\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\u003elogic(1,1) = 3\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\u003elogic(1,2) = 5\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\u003elogic(2,1) = 5\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\u003elogic(2,2) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(1,3) = 7\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\u003elogic(2,3) = 11\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\u003elogic(1,4) = 9\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\u003eMake a Function logic(a,b) which will return value according to problem\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47270,"title":"Find Logic 11","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 221.619px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 110.81px; transform-origin: 174px 110.81px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGuess the logic!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(5) = 8\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 5;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 21;\r\nassert(isequal(logic(x), y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":369,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T09:41:45.000Z","updated_at":"2026-02-14T07:04:51.000Z","published_at":"2020-11-04T09:41:45.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess the logic!\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\u003elogic(1) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 2\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\u003elogic(3) = 3\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\u003elogic(4) = 5\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\u003elogic(5) = 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake a function logic(x) which will return 'x' th term of sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47260,"title":"Find Logic 9","description":"Guess the Logic!\r\nlogic(1) = 4\r\nlogic(2) = 1\r\nlogic(3) = 10\r\nlogic(4) = 2","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: 141px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 70.5px; transform-origin: 407px 70.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: 54px 8px; transform-origin: 54px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGuess the Logic!\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 4\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.5px 8px; transform-origin: 39.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 10\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: 35.5px 8px; transform-origin: 35.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 4;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 10;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 6;\r\nassert(isequal(logic(x),3))\r\n\r\n%%\r\nx = randi(100);\r\nx = x+rem(x,2);\r\nassert(isequal(logic(x),x*sind(30)))\r\n\r\n%%\r\nx = randi(100);\r\nx = x+2*rem(x,2);\r\nassert(isequal(logic(x),3*x+1))\r\n\r\n%%\r\ny = setdiff(primes(1e5),primes(1e3));\r\nix = randi(numel(y));\r\nz = y(ix);\r\nassert(isequal(logic(z),z+z+z+rem(z,2)))","published":true,"deleted":false,"likes_count":5,"comments_count":3,"created_by":293792,"edited_by":223089,"edited_at":"2023-02-03T17:48:22.000Z","deleted_by":null,"deleted_at":null,"solvers_count":321,"test_suite_updated_at":"2023-02-03T17:48:22.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-04T08:19:24.000Z","updated_at":"2026-02-14T07:10:52.000Z","published_at":"2020-11-04T08:19:24.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\u003eGuess the Logic!\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\u003elogic(1) = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(2) = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elogic(3) = 10\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\u003elogic(4) = 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":47209,"title":"Find Logic 1","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 191.667px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 174px 95.8333px; transform-origin: 174px 95.8333px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake correct function by Finding logic\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(1) = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(2) = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(3) = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 20.9524px; 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: 151px 10.4762px; text-align: left; transform-origin: 151px 10.4762px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elogic(4) = 9\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 41.9048px; 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: 151px 20.9524px; text-align: left; transform-origin: 151px 20.9524px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eMake a function logic(x) which will return value equal to logic(x)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = logic(x)\r\n  y = logic(x-1) + 1\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 2;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 3;\r\nassert(isequal(logic(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 17\r\nassert(isequal(logic(x),y_correct))","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":293792,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":437,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-03T11:42:20.000Z","updated_at":"2026-03-05T14:52:10.000Z","published_at":"2020-11-03T11:42:20.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMake correct function by Finding logic\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\u003elogic(1) = 2\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\u003elogic(2) = 3\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\u003elogic(3) = 5\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\u003elogic(4) = 9\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\u003eMake a function logic(x) which will return value equal to logic(x)\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:\"contest\"","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:\"contest\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"contest\"","","\"","contest","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f250eed7440\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f250eed73a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f250eed6a40\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f250eed76c0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f250eed7620\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f250eed7580\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f250eed74e0\u003e":"tag:\"contest\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f250eed74e0\u003e":"tag:\"contest\""},"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:\"contest\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"contest\"","","\"","contest","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f250eed7440\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f250eed73a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f250eed6a40\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f250eed76c0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f250eed7620\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f250eed7580\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f250eed74e0\u003e":"tag:\"contest\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f250eed74e0\u003e":"tag:\"contest\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1506,"difficulty_rating":"easy"},{"id":47290,"difficulty_rating":"easy"},{"id":47285,"difficulty_rating":"easy"},{"id":60511,"difficulty_rating":"easy"},{"id":47280,"difficulty_rating":"easy"},{"id":47214,"difficulty_rating":"easy"},{"id":60591,"difficulty_rating":"easy"},{"id":47234,"difficulty_rating":"easy"},{"id":60608,"difficulty_rating":"easy"},{"id":47204,"difficulty_rating":"easy"},{"id":47340,"difficulty_rating":"easy"},{"id":47360,"difficulty_rating":"easy"},{"id":60638,"difficulty_rating":"easy"},{"id":60618,"difficulty_rating":"easy"},{"id":47325,"difficulty_rating":"easy"},{"id":47255,"difficulty_rating":"easy"},{"id":47395,"difficulty_rating":"easy"},{"id":52308,"difficulty_rating":"easy"},{"id":60593,"difficulty_rating":"easy"},{"id":1098,"difficulty_rating":"easy"},{"id":1161,"difficulty_rating":"easy"},{"id":47355,"difficulty_rating":"easy"},{"id":47265,"difficulty_rating":"easy"},{"id":47375,"difficulty_rating":"easy"},{"id":47239,"difficulty_rating":"easy"},{"id":47224,"difficulty_rating":"easy"},{"id":47310,"difficulty_rating":"easy-medium"},{"id":58424,"difficulty_rating":"easy-medium"},{"id":42780,"difficulty_rating":"easy-medium"},{"id":2652,"difficulty_rating":"easy-medium"},{"id":47295,"difficulty_rating":"easy-medium"},{"id":47370,"difficulty_rating":"easy-medium"},{"id":47345,"difficulty_rating":"easy-medium"},{"id":60623,"difficulty_rating":"easy-medium"},{"id":47240,"difficulty_rating":"easy-medium"},{"id":47350,"difficulty_rating":"easy-medium"},{"id":60603,"difficulty_rating":"easy-medium"},{"id":60628,"difficulty_rating":"easy-medium"},{"id":60651,"difficulty_rating":"easy-medium"},{"id":42778,"difficulty_rating":"easy-medium"},{"id":61048,"difficulty_rating":"easy-medium"},{"id":42762,"difficulty_rating":"easy-medium"},{"id":47385,"difficulty_rating":"easy-medium"},{"id":47275,"difficulty_rating":"easy-medium"},{"id":61037,"difficulty_rating":"easy-medium"},{"id":1646,"difficulty_rating":"easy-medium"},{"id":47320,"difficulty_rating":"easy-medium"},{"id":47270,"difficulty_rating":"easy-medium"},{"id":47260,"difficulty_rating":"easy-medium"},{"id":47209,"difficulty_rating":"easy-medium"}]}}