{"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":44720,"title":" God of War: The Chains Of Olympus","description":"The Spartan warrior, Kratos, is held by a chain of _n \u003e 1_ links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and _n_ links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\r\n\r\nAt what points should he break chain to free himself and continue his vengeance journey to Olympus? \r\n\r\n*ILLUSTRATION:* \r\n\r\nn = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and _n_ links, inclusive, by removing a minimum of a single link in any of the following way:\r\n\r\n      Segments                 Breakpoints\r\n    O-  O-O                        [1]      \r\n    O -O- O                        [2]\r\n    O-O  -O                        [3]\r\n\r\nYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 3.\r\n\r\nSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\r\n\r\n\r\n      Segments                Breakpoints\r\n\r\n   O- O-O -O- O-O-O-O            [1,4]\r\n\r\n   O- O-O-O-O -O- O-O-O          [1,5]\r\n\r\n   O- O-O-O-O -O- O-O            [1,6]\r\n\r\n   O -O- O -O- O-O-O-O           [2,4]\r\n\r\n   O -O- O-O- -O- O-O-O          [2,5] \r\n\r\n   O -O- O-O-O -O- O-O           [2,6]   \r\n\r\n   O -O- O-O-O-O -O- O           [2,7]\r\n\r\n   O-O -O- -O- O-O-O-O           [3,4] \r\n\r\n   O-O -O- O -O- O-O-O           [3,5]\r\n\r\n   O-O -O- O-O -O- O-O           [3,6]\r\n\r\n   O-O -O- O-O-O -O- O           [3,7]\r\n\r\n   O-O -O- O-O-O-O -O            [3,8]\r\n\r\n   O-O-O -O- -O- O-O-O           [4,5]\r\n\r\n   O-O-O -O- O -O- O-O           [4,6]\r\n\r\n   O-O-O -O- O-O -O- O           [4,7]\r\n\r\n   O-O-O -O- O-O-O -O            [4,8]\r\n\r\n   O-O-O-O -O- -O- O-O           [5,6]\r\n\r\n   O-O-O-O -O- O -O- O           [5,7]\r\n\r\n   O-O-O-O -O- O-O -O            [5,8]","description_html":"\u003cp\u003eThe Spartan warrior, Kratos, is held by a chain of \u003ci\u003en \u0026gt; 1\u003c/i\u003e links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and \u003ci\u003en\u003c/i\u003e links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\u003c/p\u003e\u003cp\u003eAt what points should he break chain to free himself and continue his vengeance journey to Olympus?\u003c/p\u003e\u003cp\u003e\u003cb\u003eILLUSTRATION:\u003c/b\u003e\u003c/p\u003e\u003cp\u003en = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and \u003ci\u003en\u003c/i\u003e links, inclusive, by removing a minimum of a single link in any of the following way:\u003c/p\u003e\u003cpre\u003e      Segments                 Breakpoints\r\n    O-  O-O                        [1]      \r\n    O -O- O                        [2]\r\n    O-O  -O                        [3]\u003c/pre\u003e\u003cp\u003eYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 3.\u003c/p\u003e\u003cp\u003eSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\u003c/p\u003e\u003cpre\u003e      Segments                Breakpoints\u003c/pre\u003e\u003cpre\u003e   O- O-O -O- O-O-O-O            [1,4]\u003c/pre\u003e\u003cpre\u003e   O- O-O-O-O -O- O-O-O          [1,5]\u003c/pre\u003e\u003cpre\u003e   O- O-O-O-O -O- O-O            [1,6]\u003c/pre\u003e\u003cpre\u003e   O -O- O -O- O-O-O-O           [2,4]\u003c/pre\u003e\u003cpre\u003e   O -O- O-O- -O- O-O-O          [2,5] \u003c/pre\u003e\u003cpre\u003e   O -O- O-O-O -O- O-O           [2,6]   \u003c/pre\u003e\u003cpre\u003e   O -O- O-O-O-O -O- O           [2,7]\u003c/pre\u003e\u003cpre\u003e   O-O -O- -O- O-O-O-O           [3,4] \u003c/pre\u003e\u003cpre\u003e   O-O -O- O -O- O-O-O           [3,5]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O -O- O-O           [3,6]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O-O -O- O           [3,7]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O-O-O -O            [3,8]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- -O- O-O-O           [4,5]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O -O- O-O           [4,6]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O-O -O- O           [4,7]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O-O-O -O            [4,8]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- -O- O-O           [5,6]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- O -O- O           [5,7]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- O-O -O            [5,8]\u003c/pre\u003e","function_template":"function breakpoints = Chains(n)\r\n  \r\nend","test_suite":"%%\r\nn = 2;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n, 'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 3;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 5;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 7;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 8;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=2,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 23;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=2,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 50;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=3,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 100;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=4,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 150;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=4,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 200;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=5,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 500;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=6,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 1000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=7,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 2500;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints) \u003c= 8,'Argghh...You failed to release Kratos. Too much breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 5000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=9,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 10000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=9,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 20000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=10,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2018-09-18T17:56:51.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-05T20:04:25.000Z","updated_at":"2024-11-25T15:31:13.000Z","published_at":"2018-08-05T20:33:07.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 Spartan warrior, Kratos, is held by a chain of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en \u0026gt; 1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\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\u003eAt what points should he break chain to free himself and continue his vengeance journey to Olympus?\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\u003eILLUSTRATION:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links, inclusive, by removing a minimum of a single link in any of the following way:\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[      Segments                 Breakpoints\\n    O-  O-O                        [1]      \\n    O -O- O                        [2]\\n    O-O  -O                        [3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\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[      Segments                Breakpoints\\n\\n   O- O-O -O- O-O-O-O            [1,4]\\n\\n   O- O-O-O-O -O- O-O-O          [1,5]\\n\\n   O- O-O-O-O -O- O-O            [1,6]\\n\\n   O -O- O -O- O-O-O-O           [2,4]\\n\\n   O -O- O-O- -O- O-O-O          [2,5] \\n\\n   O -O- O-O-O -O- O-O           [2,6]   \\n\\n   O -O- O-O-O-O -O- O           [2,7]\\n\\n   O-O -O- -O- O-O-O-O           [3,4] \\n\\n   O-O -O- O -O- O-O-O           [3,5]\\n\\n   O-O -O- O-O -O- O-O           [3,6]\\n\\n   O-O -O- O-O-O -O- O           [3,7]\\n\\n   O-O -O- O-O-O-O -O            [3,8]\\n\\n   O-O-O -O- -O- O-O-O           [4,5]\\n\\n   O-O-O -O- O -O- O-O           [4,6]\\n\\n   O-O-O -O- O-O -O- O           [4,7]\\n\\n   O-O-O -O- O-O-O -O            [4,8]\\n\\n   O-O-O-O -O- -O- O-O           [5,6]\\n\\n   O-O-O-O -O- O -O- O           [5,7]\\n\\n   O-O-O-O -O- O-O -O            [5,8]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":44720,"title":" God of War: The Chains Of Olympus","description":"The Spartan warrior, Kratos, is held by a chain of _n \u003e 1_ links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and _n_ links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\r\n\r\nAt what points should he break chain to free himself and continue his vengeance journey to Olympus? \r\n\r\n*ILLUSTRATION:* \r\n\r\nn = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and _n_ links, inclusive, by removing a minimum of a single link in any of the following way:\r\n\r\n      Segments                 Breakpoints\r\n    O-  O-O                        [1]      \r\n    O -O- O                        [2]\r\n    O-O  -O                        [3]\r\n\r\nYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 3.\r\n\r\nSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\r\n\r\n\r\n      Segments                Breakpoints\r\n\r\n   O- O-O -O- O-O-O-O            [1,4]\r\n\r\n   O- O-O-O-O -O- O-O-O          [1,5]\r\n\r\n   O- O-O-O-O -O- O-O            [1,6]\r\n\r\n   O -O- O -O- O-O-O-O           [2,4]\r\n\r\n   O -O- O-O- -O- O-O-O          [2,5] \r\n\r\n   O -O- O-O-O -O- O-O           [2,6]   \r\n\r\n   O -O- O-O-O-O -O- O           [2,7]\r\n\r\n   O-O -O- -O- O-O-O-O           [3,4] \r\n\r\n   O-O -O- O -O- O-O-O           [3,5]\r\n\r\n   O-O -O- O-O -O- O-O           [3,6]\r\n\r\n   O-O -O- O-O-O -O- O           [3,7]\r\n\r\n   O-O -O- O-O-O-O -O            [3,8]\r\n\r\n   O-O-O -O- -O- O-O-O           [4,5]\r\n\r\n   O-O-O -O- O -O- O-O           [4,6]\r\n\r\n   O-O-O -O- O-O -O- O           [4,7]\r\n\r\n   O-O-O -O- O-O-O -O            [4,8]\r\n\r\n   O-O-O-O -O- -O- O-O           [5,6]\r\n\r\n   O-O-O-O -O- O -O- O           [5,7]\r\n\r\n   O-O-O-O -O- O-O -O            [5,8]","description_html":"\u003cp\u003eThe Spartan warrior, Kratos, is held by a chain of \u003ci\u003en \u0026gt; 1\u003c/i\u003e links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and \u003ci\u003en\u003c/i\u003e links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\u003c/p\u003e\u003cp\u003eAt what points should he break chain to free himself and continue his vengeance journey to Olympus?\u003c/p\u003e\u003cp\u003e\u003cb\u003eILLUSTRATION:\u003c/b\u003e\u003c/p\u003e\u003cp\u003en = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and \u003ci\u003en\u003c/i\u003e links, inclusive, by removing a minimum of a single link in any of the following way:\u003c/p\u003e\u003cpre\u003e      Segments                 Breakpoints\r\n    O-  O-O                        [1]      \r\n    O -O- O                        [2]\r\n    O-O  -O                        [3]\u003c/pre\u003e\u003cp\u003eYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 3.\u003c/p\u003e\u003cp\u003eSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\u003c/p\u003e\u003cpre\u003e      Segments                Breakpoints\u003c/pre\u003e\u003cpre\u003e   O- O-O -O- O-O-O-O            [1,4]\u003c/pre\u003e\u003cpre\u003e   O- O-O-O-O -O- O-O-O          [1,5]\u003c/pre\u003e\u003cpre\u003e   O- O-O-O-O -O- O-O            [1,6]\u003c/pre\u003e\u003cpre\u003e   O -O- O -O- O-O-O-O           [2,4]\u003c/pre\u003e\u003cpre\u003e   O -O- O-O- -O- O-O-O          [2,5] \u003c/pre\u003e\u003cpre\u003e   O -O- O-O-O -O- O-O           [2,6]   \u003c/pre\u003e\u003cpre\u003e   O -O- O-O-O-O -O- O           [2,7]\u003c/pre\u003e\u003cpre\u003e   O-O -O- -O- O-O-O-O           [3,4] \u003c/pre\u003e\u003cpre\u003e   O-O -O- O -O- O-O-O           [3,5]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O -O- O-O           [3,6]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O-O -O- O           [3,7]\u003c/pre\u003e\u003cpre\u003e   O-O -O- O-O-O-O -O            [3,8]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- -O- O-O-O           [4,5]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O -O- O-O           [4,6]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O-O -O- O           [4,7]\u003c/pre\u003e\u003cpre\u003e   O-O-O -O- O-O-O -O            [4,8]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- -O- O-O           [5,6]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- O -O- O           [5,7]\u003c/pre\u003e\u003cpre\u003e   O-O-O-O -O- O-O -O            [5,8]\u003c/pre\u003e","function_template":"function breakpoints = Chains(n)\r\n  \r\nend","test_suite":"%%\r\nn = 2;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n, 'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 3;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 5;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 7;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=1,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 8;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=2,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 23;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=2,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 50;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=3,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 100;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=4,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 150;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=4,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 200;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=5,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 500;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=6,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 1000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=7,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 2500;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints) \u003c= 8,'Argghh...You failed to release Kratos. Too much breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 5000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=9,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 10000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=9,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n\r\n%%\r\nn = 20000;\r\nbreakpoints = unique(Chains(n));\r\n% Check minimum length condition is satisfied\r\nassert(length(breakpoints)\u003c=10,'Argghh...You failed to release Kratos. Too many breakpoints')\r\n% Get broken chain segements\r\nsegments = abs(nonzeros([repelem(1,length(breakpoints)) [breakpoints-1 n]-[0 breakpoints]]));\r\n% Check that chain of any integer length between 1 and n links, inclusive,\r\n% can be obtained from the resulting segments\r\nassert(length(unique((dec2bin(1:2^length(segments)-1)-'0')*segments)')==n,'Argghh...You failed to release Kratos. Incorrect breakpoints')\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":178544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2018-09-18T17:56:51.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-08-05T20:04:25.000Z","updated_at":"2024-11-25T15:31:13.000Z","published_at":"2018-08-05T20:33:07.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 Spartan warrior, Kratos, is held by a chain of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en \u0026gt; 1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links in the underworld. His only chance of survival is to break the chain by removing the minimum number of single link, so that it would be possible to create a chain of any integer length between 1 and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links, inclusive, from the resulting pieces. He only has enough stamina to remove the minimum number of single links. Anything more, and he forever remains doomed in the underworld.\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\u003eAt what points should he break chain to free himself and continue his vengeance journey to Olympus?\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\u003eILLUSTRATION:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 3 link chain can be broken, such that the resulting pieces can combine to give a chain of any integer length between 1 and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e links, inclusive, by removing a minimum of a single link in any of the following way:\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[      Segments                 Breakpoints\\n    O-  O-O                        [1]      \\n    O -O- O                        [2]\\n    O-O  -O                        [3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are to return only one of these possible breakpoints i.e. either 1, 2, or 3 will be accepted as a correct solution for n = 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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSimilarly, n = 8 link chain can only be broken by removing a minimum of two single link as shown:\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[      Segments                Breakpoints\\n\\n   O- O-O -O- O-O-O-O            [1,4]\\n\\n   O- O-O-O-O -O- O-O-O          [1,5]\\n\\n   O- O-O-O-O -O- O-O            [1,6]\\n\\n   O -O- O -O- O-O-O-O           [2,4]\\n\\n   O -O- O-O- -O- O-O-O          [2,5] \\n\\n   O -O- O-O-O -O- O-O           [2,6]   \\n\\n   O -O- O-O-O-O -O- O           [2,7]\\n\\n   O-O -O- -O- O-O-O-O           [3,4] \\n\\n   O-O -O- O -O- O-O-O           [3,5]\\n\\n   O-O -O- O-O -O- O-O           [3,6]\\n\\n   O-O -O- O-O-O -O- O           [3,7]\\n\\n   O-O -O- O-O-O-O -O            [3,8]\\n\\n   O-O-O -O- -O- O-O-O           [4,5]\\n\\n   O-O-O -O- O -O- O-O           [4,6]\\n\\n   O-O-O -O- O-O -O- O           [4,7]\\n\\n   O-O-O -O- O-O-O -O            [4,8]\\n\\n   O-O-O-O -O- -O- O-O           [5,6]\\n\\n   O-O-O-O -O- O -O- O           [5,7]\\n\\n   O-O-O-O -O- O-O -O            [5,8]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"break\"","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:\"break\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"break\"","","\"","break","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f77275a3e80\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f77275a3de0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f77275a3480\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f77275a4100\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f77275a4060\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f77275a3fc0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f77275a3f20\u003e":"tag:\"break\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f77275a3f20\u003e":"tag:\"break\""},"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:\"break\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"break\"","","\"","break","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f77275a3e80\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f77275a3de0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f77275a3480\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f77275a4100\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f77275a4060\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f77275a3fc0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f77275a3f20\u003e":"tag:\"break\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f77275a3f20\u003e":"tag:\"break\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44720,"difficulty_rating":"unrated"}]}}