{"id":211188,"date":"2014-02-03T11:19:03","date_gmt":"2014-02-03T07:19:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=211188"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=211188","title":{"rendered":"<span class=\"post_title\">\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043b\u043e\u0433\u0438\u043a\u0438 \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0438\u0433\u0440\u044b \u00ab\u0421\u0430\u043f\u0451\u0440\u00bb<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0430\u0441 \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u0433\u0440\u0430\u043b, \u0438\u043b\u0438 \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u00ab\u0421\u0430\u043f\u0451\u0440\u00bb (\u00abMineSweeper\u00bb). \u041b\u043e\u0433\u0438\u043a\u0430 \u0438\u0433\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u0430, \u043d\u043e \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0437\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0435\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u0430\u0436\u0435 \u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u0435. \u0412 \u043c\u043e\u0435\u043c \u0431\u043e\u0442\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u0442\u0440\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u043e\u043b\u0435. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043e 100- \u0438 0-\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044f \u043d\u0430\u0443\u0433\u0430\u0434 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u0441\u0430\u043f\u0435\u0440\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u00ab\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u00bb \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c 33% \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e 44% (Windows 7). <br \/>  <a name=\"habracut\"><\/a><br \/>  <b><\/p>\n<h4>\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c<\/h4>\n<p><\/b><br \/>   \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c. \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 (\u043a\u043b\u0430\u0441\u0441 Cell), \u043f\u0440\u0438\u043b\u0435\u0433\u0430\u044e\u0449\u0438\u0435 \u043a \u043e\u0434\u043d\u043e\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 (\u043a\u043b\u0430\u0441\u0441 Group), \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u0430 \u043f\u0440\u0438\u043b\u0435\u0433\u0430\u0435\u0442.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\"  src=\"http:\/\/habr.habrastorage.org\/post_images\/6b0\/15d\/5bd\/6b015d5bd1c71c0c6eaf77e616577cb2.png\"\/><\/div>\n<p>  \u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u0440\u0443\u043f\u043f\u044b, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438 \u0432\u043e\u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0434\u0440\u0443\u0433\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c (123,1) \u2014 \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u044f\u0447\u0435\u0435\u043a 1,2 \u0438 3, \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043d\u0438\u0445 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f 1 \u043c\u0438\u043d\u0430. (5678,2) \u2014 \u0432 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f 2 \u043c\u0438\u043d\u044b.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e:   <\/p>\n<ol>\n<li> \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u043e\u0439. <\/li>\n<li>\u0415\u0441\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435, \u0442\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0443\u0434\u0430\u043b\u044f\u0435\u043c. <\/li>\n<li>\u0415\u0441\u043b\u0438 \u043e\u0434\u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0440\u0443\u0433\u0443\u044e, \u0442\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u0438\u0437 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u043c\u0435\u043d\u044c\u0448\u0443\u044e. \u0422\u043e \u0435\u0441\u0442\u044c \u0431\u044b\u043b\u043e \u0434\u0432\u0435 \u0433\u0440\u0443\u043f\u043f\u044b (5678,2) \u0438 (5,1), \u0441\u0442\u0430\u043b\u043e (678,1) \u0438 (5,1); (2345,3) \u0438 (5,1) \u2192 (234,2) \u0438 (5,1) <\/li>\n<li> \u041f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: <br \/> \n<ol>\n<li> \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u0437 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u044f\u0447\u0435\u0435\u043a<\/li>\n<li> \u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0438\u043d \u0432 \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435, \u0440\u0430\u0432\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0438\u043d \u043c\u0438\u043d\u0443\u0441 \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044f\u0447\u0435\u0435\u043a \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u044f\u0447\u0435\u0435\u043a. <\/li>\n<li> \u0415\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435 \u0440\u0430\u0432\u0435\u043d \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0441 \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0438\u043d, \u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/li>\n<li>\u0412\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u0438\u0437 \u043e\u0431\u043e\u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0433\u0440\u0443\u043f\u043f \u043d\u043e\u0432\u043e\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443. <\/li>\n<li> \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u0432\u043e\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u0440\u0443\u043f\u043f<\/li>\n<\/ol>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c (234,2) \u0438 (123,1) \u2192 (1,0) \u0438 (23,1) \u0438 (4,1).   <\/li>\n<li>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0441 \u043f. 1 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/li>\n<\/ol>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u0435\u0442\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">\/**      * \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u0440\u0443\u043f\u043f \u044f\u0447\u0435\u0435\u043a, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043e\u0434\u043d\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u0438\u0445 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0435, \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f.      *\/     private void setGroups() {         groups.clear();         for (int x = 0; x &lt; width; x++) for (int y = 0; y &lt; height; y++) field[x][y].setGroup(groups); \/\/ \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f         boolean repeat;         do{             repeat=false;             for (int i = 0; i &lt; groups.size() - 1; i++) {  \/\/ \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0433\u0440\u0443\u043f\u043f                 Group groupI = groups.get(i);                 for (int j = i + 1; j &lt; groups.size(); j++) {   \/\/ \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u0435\u0435 \u0441 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0435\u043d\u044c\u0448\u0438\u043c\u0438 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438                     Group groupJ=groups.get(j);                     if (groupI.equals(groupJ))                  \/\/ \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b                         {groups.remove(j--);break;}                     Group parent;                               \/\/ \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430                     Group child;                                \/\/ \u043c\u0435\u043d\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430                     if (groupI.size()&gt;groupJ.size())            \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0438 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u043a\u043e\u043b-\u0432\u0443 \u044f\u0447\u0435\u0435\u043a                         {parent=groupI;child=groupJ;}                     else {child=groupI;parent=groupJ;}                     if (parent.contains(child)) {               \/\/ \u0435\u0441\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u043d\u044c\u0448\u0443\u044e                         parent.subtraction(child);              \/\/  \u0442\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0438\u0437 \u0431\u043e\u043b\u044c\u0448\u0435\u0439                         repeat=true;                            \/\/  \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u043a\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f                     } else if (groupI.overlaps(groupJ) &gt; 0) {    \/\/ \u0438\u043d\u0430\u0447\u0435 \u0435\u0441\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f                         if (groupI.getMines()&gt;groupJ.getMines())\/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0438 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u043e \u043a\u043e\u043b-\u0432\u0443 \u043c\u0438\u043d                         {parent=groupI;child=groupJ;}                         else {child=groupI;parent=groupJ;}                         Group overlap = parent.getOverlap(child);\/\/ \u0442\u043e \u0431\u0435\u0440\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f                         if (overlap != null) {                  \/\/  \u0438 \u0435\u0441\u043b\u0438 \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b (\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u044f\u0447\u0435\u0439\u043a\u0438 \u0441 0% \u0438\u043b\u0438 100%)                             groups.add(overlap);                \/\/  \u0442\u043e \u0432\u043d\u043e\u0441\u0438\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a                             parent.subtraction(overlap);                             child.subtraction(overlap);                             repeat=true;                         }                     }                 }             }         }         while(repeat);     } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0441\u044f \u0442\u0440\u0438 \u0432\u0438\u0434\u0430 \u0433\u0440\u0443\u043f\u043f. <\/p>\n<ul>\n<li> \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0438\u043d \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u043b\u044e<\/li>\n<li> \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0438\u043d \u0440\u0430\u0432\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u044f\u0447\u0435\u0435\u043a \u0432 \u0433\u0440\u0443\u043f\u043f\u0435<\/li>\n<li> \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0438\u043d \u043c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u044f\u0447\u0435\u0435\u043a \u0432 \u0433\u0440\u0443\u043f\u043f\u0435<\/li>\n<\/ul>\n<p>\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0441\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u043b\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c, \u0430 \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043e\u0442\u043c\u0435\u0447\u0430\u0442\u044c. \u0412 \u044d\u0442\u043e\u043c \u0441\u0443\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<\/p>\n<h5><b>\u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/b><\/h5>\n<p>   \u041d\u043e \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c. \u0415\u0433\u043e \u0441\u0443\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0435\u043e\u0440\u0438\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430:<\/p>\n<ol>\n<li> \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044f\u0447\u0435\u0439\u043a\u0430\u0445, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u044f\u0447\u0435\u0435\u043a<\/li>\n<li> \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0432\u0437\u0430\u0438\u043c\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f \u0441 \u043e\u0431\u0449\u0438\u043c\u0438 \u044f\u0447\u0435\u0439\u043a\u0430\u043c\u0438 \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430<\/li>\n<\/ol>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b \u0432\u0441\u0435\u0433\u043e \u0434\u0432\u0435 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 4 \u0438 2. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d \u043e\u0442 \u044f\u0447\u0435\u0435\u043a 4 \u0438 2 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0432\u043d\u044b 4\/7=0,57 \u0438 2\/7=0,28 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\"  src=\"http:\/\/habr.habrastorage.org\/post_images\/0dc\/439\/740\/0dc4397405eeae78d164af438ac52f6c.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d\u044b \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 \u0440\u044f\u0434\u043e\u043c \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u044f\u0447\u0435\u0439\u043a\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f: <\/p>\n<blockquote><p>\u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0410, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0432 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0410<sub>1<\/sub>, \u0410<sub>2<\/sub>,&#8230;, \u0410<sub>n<\/sub>, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0432 \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438, \u0440\u0430\u0432\u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0435\u0434\u0438\u043d\u0438\u0446\u0435\u0439 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0410=1- (1-A<sub>1<\/sub>)*(1-A<sub>2<\/sub>)*&#8230;.*(1-A<sub>n<\/sub>)<\/p><\/blockquote>\n<p> \u0412 \u0441\u043c\u0435\u0436\u043d\u044b\u0445 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0432\u0435\u043d 1-(1-0,57)*(1-0,28)=0,69. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\"  src=\"http:\/\/habr.habrastorage.org\/post_images\/d3a\/058\/e02\/d3a058e02ac5cdbf422fd3f4dcf6b6cf.png\"\/><\/div>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0443\u043c\u043c\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u044f\u0447\u0435\u0435\u043a \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u0438\u0445 \u0441\u0443\u043c\u043c\u0430 \u0431\u044b\u043b\u0430 \u0440\u0430\u0432\u043d\u0430 \u0447\u0438\u0441\u043b\u0443 \u043c\u0438\u043d. \u042d\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u0440\u0430\u0432\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435, \u0434\u0435\u043b\u0435\u043d\u043e\u0435 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u044f\u0447\u0435\u0435\u043a \u0433\u0440\u0443\u043f\u043f\u044b:  <\/p>\n<blockquote><p>4\/(0,57+0,57+0,57+0,69+0,69+0,69+0,69)=0,895<br \/>  0,57*0,895=0,485 0,69*0,895=0,618<\/p><\/blockquote>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u0447\u0442\u043e \u0438\u043c\u0435\u043b\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c 0,57 \u0438\u043c\u0435\u044e\u0442 0,485, \u0430 \u0442\u0435, \u0447\u0442\u043e 0,69 \u2192 0,618<br \/>  \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u0443\u0436\u0435 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439.  <\/p>\n<blockquote><p>2\/(0,28+0,28+0,28+0,618+0,618+0,618+0,618)=0,604<br \/>  0,28*0,604=0,169 0,618*0,604=0,373<\/p><\/blockquote>\n<p>  \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0432 \u043e\u0431\u0449\u0438\u0445 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 \u043e\u043f\u044f\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u043f\u043e\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u043c\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445.   <\/p>\n<blockquote><p>4\/(0,485+0,485+0,485+0,373+0,373+0,373+0,373)=1,357<br \/>  0,485*1,357=0,658 0,373*1,357=0,506<br \/>  2\/(0,169+0,169+0,169+0,506+0,506+0,506+0,506)=0,79<br \/>  0,169*0,79=0,134 0,506*0,79=0,4<\/p><\/blockquote>\n<p>  \u2026 \u0438 \u0442. \u0434.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\"  src=\"http:\/\/habr.habrastorage.org\/post_images\/d6c\/d6a\/e60\/d6cd6ae607e195e32c56a8c7672d80ab.png\"\/><\/div>\n<p>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 \u044f\u0447\u0435\u0435\u043a \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0445\u043e\u0434.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432 \u043a\u043e\u0434\u0435<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">\/**      * \u041c\u0435\u0442\u043e\u0434 \u0432\u043d\u043e\u0441\u0438\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0432\u0437\u0430\u0438\u043c\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0445 \u044f\u0447\u0435\u0435\u043a \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430      *\/     private void correctPosibilities(){         Map&lt;Cell,Double&gt;cells= new HashMap&lt;&gt;();         \/\/ \u0446\u0438\u043a\u043b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0435\u0434\u0438\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0435, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 \u043e\u0442 \u0440\u0430\u0437\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f         for (Group group : groups){             for (Cell cell: group.getList()){                 Double value;                 if ((value=cells.get(cell))==null) \/\/ \u0435\u0441\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0432 \u043c\u0430\u043f\u0435                     cells.put(cell,(double) group.getMines()\/ group.size()); \/\/ \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0435 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u0433\u0440\u0443\u043f\u043f\u044b                 else     \/\/\u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0443\u0436\u0435 \u0432 \u043c\u0430\u043f\u0435, \u0442\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438                     cells.put(cell,Prob.sum(value,(double) group.getMines()\/ group.size()));             }         }         \/\/ \u0446\u0438\u043a\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u0443\u043c\u043c\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435         boolean repeat;         do{             repeat=false;             for (Group group : groups){                      \/\/ \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b                 List&lt;Double&gt; prob= group.getProbabilities(); \/\/  \u0431\u0435\u0440\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0432\u0441\u0435\u0445 \u044f\u0447\u0435\u0435\u043a \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445                 Double sum=0.0;                 for (Double elem:prob)sum+=elem;             \/\/  \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0435\u0435 \u0441\u0443\u043c\u043c\u0443                 int mines= group.getMines()*100;             \/\/  \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0438\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043d\u0430 \u0441\u0442\u043e (\u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432)                 if (Math.abs(sum-mines)&gt;1){                  \/\/  \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0432\u0435\u043b\u0438\u043a\u0430, \u0442\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0443                     repeat=true;                             \/\/   \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u043a\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438                     Prob.correct(prob,mines);                \/\/   \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a                     for (int i=0;i&lt; group.size();i++){       \/\/   \u0437\u0430\u043d\u043e\u0441\u0438\u043c \u043e\u0442\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432 \u044f\u0447\u0435\u0439\u043a\u0438                         double value= prob.get(i);                         group.getList().get(i).setPossibility(value);                     }                 }             }         }         while (repeat);         for (Cell cell:cells.keySet()){  \/\/ \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0430             if (cell.getPossibility()&gt;99)cell.setPossibility(99);             if (cell.getPossibility()&lt;0)cell.setPossibility(0);         }     } <\/code><\/pre>\n<\/div>\n<\/div>\n<h5><b>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0445\u043e\u0434\u044b<\/b><\/h5>\n<p>  \u041d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0438\u0433\u0440\u044b \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u043c\u0438\u043d. \u0417\u043d\u0430\u044f \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0432 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043c\u0435\u0442\u043e\u043a. \u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0432 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043c\u0435\u0442\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438\u043c\u0435\u044e\u0449\u0435\u0439, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 (LastTurns) \u043d\u0430\u0448\u0435\u043b 3 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441 0% \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\"  src=\"http:\/\/habr.habrastorage.org\/post_images\/e67\/a7b\/014\/e67a7b0143081efb44308a3c281afa0e.png\"\/><\/div>\n<p>  LastTurns(9,21) \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b 144 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0438\u0437 293930 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0438 \u043d\u0430\u0448\u0435\u043b 3 \u044f\u0447\u0435\u0435\u043a \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 0 %<\/p>\n<p>  C \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0438\u0434\u0435\u0438 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0441\u0430\u043c\u044b\u0439 \u043b\u0435\u0433\u043a\u0438\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0443.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0415\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">\/**      * \u0421\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u043f\u0443\u0442\u0435\u043c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 30      * @return      *\/     public ArrayList&lt;Point&gt; getLastTurns() {         int minesLeft = countMinesLeft(); \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043c\u0438\u043d         ArrayList&lt;Cell&gt; unknownCells = getUnknownCells(); \/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a         int notOpened = unknownCells.size();              \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a         Integer[] combinations = new Sequence6().getSequensed(minesLeft, notOpened); \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0438\u043d \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0447\u0435\u0435\u043a         ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;(); \/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439         for (int i = 0; i &lt; combinations.length; i++) { \/\/ \u0432 \u044d\u0442\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043c\u0438\u043d \u0438\u0437 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438             String combination = Integer.toBinaryString(combinations[i]);  \/\/ \u043f\u0440\u0435\u043e\u0434\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0433\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u0441\u0442\u0440\u043e\u043a\u0443             if (combination.length() &lt; notOpened) {  \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e &quot;0&quot; \u043f\u0435\u0440\u0435\u0434 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0447\u0438\u0441\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u0434\u043b\u0438\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 \u0440\u0430\u0432\u043d\u044f\u043b\u0430\u0441\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a                 String prefix = &quot;&quot;;                 for (int k = combination.length(); k &lt; notOpened; k++) prefix += &quot;0&quot;;                 combination = prefix + combination;             }             for (int j = 0; j &lt; notOpened; j++) { \/\/ \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043c\u0438\u043d \u043f\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u044f\u0447\u0435\u0439\u043a\u0430\u043c                 if (combination.charAt(j) == '1') unknownCells.get(j).setMine();                 if (combination.charAt(j) == '0') unknownCells.get(j).setUnknown();             }             if (test()) list.add(combination);  \/\/ \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043d\u0435\u0442 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0439 \u0441 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u044f\u0447\u0435\u0439\u043a\u0430\u043c\u0438, \u0442\u043e \u0437\u0430\u043d\u043e\u0441\u0438\u043c \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445         }         clear(unknownCells); \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435         String[] comb = new String[list.size()];         list.toArray(comb);  \/\/ \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0432 \u043c\u0430\u0441\u0441\u0438\u0432, \u0438 \u0434\u0430\u043b\u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c         int[] possibilities2 = new int[notOpened]; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u0433\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043c\u0438\u043d\u0430 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0435         for (int i = 0; i &lt; comb.length; i++)  \/\/ \u0446\u0438\u043a\u043b \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 possibilities2[]             for (int j = 0; j &lt; notOpened; j++)                 if (comb[i].charAt(j) == '1') possibilities2[j]++; \/\/ \u0435\u0441\u043b\u0438 \u0432 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u043c\u0438\u043d\u0430, \u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043d\u0430 1         int min = Integer.MAX_VALUE;         ArrayList&lt;Integer&gt; minIndices = new ArrayList&lt;&gt;(); \/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0432 possibilities2[]         for (int i = 0; i &lt; possibilities2.length; i++) {             if (possibilities2[i] == min) minIndices.add(i);             if (possibilities2[i] &lt; min) {                 min = possibilities2[i];                 minIndices.clear();                 minIndices.add(i);               }             unknownCells.get(i).setPossibility(100*possibilities2[i]\/comb.length); \/\/ \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u044f\u0447\u0435\u0439\u043a\u0430\u0445         }         double minPossibility = 100.0 * possibilities2[minIndices.get(0)] \/ comb.length;         System.out.println(&quot;LastTurns(&quot; + minesLeft + &quot;,&quot; + notOpened + &quot;) \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b &quot; + comb.length +                 &quot; \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0438\u0437 &quot; + combinations.length + &quot; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0438 \u043d\u0430\u0448\u0435\u043b &quot; + minIndices.size() + &quot; \u044f\u0447\u0435\u0435\u043a&quot; +                 &quot; \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e &quot; + (int) minPossibility + &quot; %&quot;);          ArrayList&lt;Point&gt; result = new ArrayList&lt;Point&gt;(minIndices.size());\/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u044f\u0447\u0435\u0435\u043a \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e         for (int index : minIndices) {             result.add(unknownCells.get(index).getPoint());         }         return result;     } <\/code><\/pre>\n<\/div>\n<\/div>\n<h5><b>\u0412\u044b\u0432\u043e\u0434<\/b><\/h5>\n<p>  \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u043e\u043a \u0440\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0435 \u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d\u044b \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 \u043f\u043e\u0447\u0442\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043e\u0442\u0430 \u043d\u0430 \u00ab\u0421\u0430\u043f\u0435\u0440\u00bb \u043f\u043e\u0434 Windows XP \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0447\u0438, \u0433\u0434\u0435 <\/p>\n<ol>\n<li> \u0420\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 %<\/li>\n<li> \u041e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b-\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u044f\u0447\u0435\u0435\u043a \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c %<\/li>\n<li> \u041a\u043e\u043b-\u0432\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439 \u043d\u0430 \u043c\u0438\u043d\u0443<\/li>\n<li> \u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 %<\/li>\n<\/ol>\n<table>\n<tr>\n<th>1.<\/th>\n<td>1<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<td>5<\/td>\n<td>6<\/td>\n<td>7<\/td>\n<td>8<\/td>\n<td>9<\/td>\n<td>10<\/td>\n<td>11<\/td>\n<td>12<\/td>\n<td>13<\/td>\n<td>14<\/td>\n<td>15<\/td>\n<td>16<\/td>\n<td>17<\/td>\n<td>18<\/td>\n<td>19<\/td>\n<td>20<\/td>\n<td>21<\/td>\n<td>22<\/td>\n<td>23<\/td>\n<td>24<\/td>\n<td>25<\/td>\n<\/tr>\n<tr>\n<th>2.<\/th>\n<td>31<\/td>\n<td>55<\/td>\n<td>117<\/td>\n<td>131<\/td>\n<td>304<\/td>\n<td>291<\/td>\n<td>303<\/td>\n<td>339<\/td>\n<td>507<\/td>\n<td>435<\/td>\n<td>479<\/td>\n<td>1201<\/td>\n<td>152<\/td>\n<td>146<\/td>\n<td>118<\/td>\n<td>143<\/td>\n<td>164<\/td>\n<td>141<\/td>\n<td>367<\/td>\n<td>3968<\/td>\n<td>145<\/td>\n<td>63<\/td>\n<td>47<\/td>\n<td>26<\/td>\n<td>92<\/td>\n<\/tr>\n<tr>\n<th>3.<\/th>\n<td>1<\/td>\n<td>4<\/td>\n<td>9<\/td>\n<td>6<\/td>\n<td>20<\/td>\n<td>19<\/td>\n<td>27<\/td>\n<td>29<\/td>\n<td>56<\/td>\n<td>43<\/td>\n<td>60<\/td>\n<td>147<\/td>\n<td>15<\/td>\n<td>25<\/td>\n<td>14<\/td>\n<td>20<\/td>\n<td>33<\/td>\n<td>26<\/td>\n<td>65<\/td>\n<td>350<\/td>\n<td>14<\/td>\n<td>5<\/td>\n<td>12<\/td>\n<td>4<\/td>\n<td>23<\/td>\n<\/tr>\n<tr>\n<th>4.<\/th>\n<td>3<\/td>\n<td>7<\/td>\n<td>7<\/td>\n<td>4<\/td>\n<td>6<\/td>\n<td>6<\/td>\n<td>8<\/td>\n<td>8<\/td>\n<td>11<\/td>\n<td>9<\/td>\n<td>12<\/td>\n<td>12<\/td>\n<td>9<\/td>\n<td>17<\/td>\n<td>11<\/td>\n<td>13<\/td>\n<td>20<\/td>\n<td>18<\/td>\n<td>17<\/td>\n<td>8<\/td>\n<td>9<\/td>\n<td>7<\/td>\n<td>25<\/td>\n<td>15<\/td>\n<td>25<\/td>\n<\/tr>\n<\/table>\n<p>  <\/p>\n<table>\n<tr>\n<th>1.<\/th>\n<td>26<\/td>\n<td>27<\/td>\n<td>28<\/td>\n<td>29<\/td>\n<td>30<\/td>\n<td>31<\/td>\n<td>32<\/td>\n<td>33<\/td>\n<td>34<\/td>\n<td>35<\/td>\n<td>36<\/td>\n<td>37<\/td>\n<td>38<\/td>\n<td>39<\/td>\n<td>40<\/td>\n<td>41<\/td>\n<td>42<\/td>\n<td>43<\/td>\n<td>44<\/td>\n<td>45<\/td>\n<td>46<\/td>\n<td>47<\/td>\n<td>48<\/td>\n<td>49<\/td>\n<td>50<\/td>\n<\/tr>\n<tr>\n<th>2.<\/th>\n<td>18<\/td>\n<td>10<\/td>\n<td>24<\/td>\n<td>18<\/td>\n<td>9<\/td>\n<td>11<\/td>\n<td>6<\/td>\n<td>135<\/td>\n<td>8<\/td>\n<td>2<\/td>\n<td>4<\/td>\n<td>2<\/td>\n<td>1<\/td>\n<td>3<\/td>\n<td>16<\/td>\n<td> <\/td>\n<td>2<\/td>\n<td>2<\/td>\n<td> <\/td>\n<td> <\/td>\n<td>1<\/td>\n<td> <\/td>\n<td> <\/td>\n<td> <\/td>\n<td>462<\/td>\n<\/tr>\n<tr>\n<th>3.<\/th>\n<td>1<\/td>\n<td>9<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<td>2<\/td>\n<td>1<\/td>\n<td>43<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>4<\/td>\n<td> <\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td> <\/td>\n<td> <\/td>\n<td>0<\/td>\n<td> <\/td>\n<td> <\/td>\n<td> <\/td>\n<td>210<\/td>\n<\/tr>\n<tr>\n<th>4.<\/th>\n<td>5<\/td>\n<td>37<\/td>\n<td>11<\/td>\n<td>30<\/td>\n<td>33<\/td>\n<td>18<\/td>\n<td>16<\/td>\n<td>31<\/td>\n<td>12<\/td>\n<td>0<\/td>\n<td>25<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>33<\/td>\n<td>25<\/td>\n<td> <\/td>\n<td>50<\/td>\n<td>50<\/td>\n<td> <\/td>\n<td> <\/td>\n<td>0<\/td>\n<td> <\/td>\n<td> <\/td>\n<td> <\/td>\n<td>45<\/td>\n<\/tr>\n<\/table>\n<p>   \u0411\u043e\u043b\u044c\u0448\u043e\u0435 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 20-22% \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0438\u043c\u0435\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0438, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0440\u044f\u0434\u043e\u043c \u0443\u0436\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438\u0433\u0440\u044b), \u0438 \u00ab\u0421\u0430\u043f\u0435\u0440\u00bb \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u0434 \u0438\u0433\u0440\u043e\u043a\u0430, \u0438\u043d\u043e\u0433\u0434\u0430 \u0443\u0431\u0438\u0440\u0430\u044f \u0438\u0437-\u043f\u043e\u0434 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u043c\u0438\u043d\u0443. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u044b\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 java \u0438 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u0441\u0430\u043f\u0435\u0440\u0435 Windows (7 \u0438 \u0425\u0420), \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432 VK \u0438 \u043d\u0430 \u0438\u0433\u0440\u0443\u043d\u0435. \u041a \u0441\u043b\u043e\u0432\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u043d\u0435\u0439 \u00ab\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043e\u043a\u00bb \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043d\u0430 \u043c\u043e\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e IP \u0438\u0433\u0440\u0443\u043d \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u044f \u0437\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u043b\u044f: \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b 10% \u0441\u0442\u0430\u0432\u043a\u0438 \u0437\u0430 10% \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u043f\u043e\u0442\u043e\u043c 5%, \u043f\u043e\u0442\u043e\u043c 2%, \u0430 \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0438\u0433\u0440\u0430\u0442\u044c, \u0442\u043e \u0432\u0435\u0440\u043d\u0443\u043b 5%. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/211188\/\"> http:\/\/habrahabr.ru\/post\/211188\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0430\u0441 \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u0433\u0440\u0430\u043b, \u0438\u043b\u0438 \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u00ab\u0421\u0430\u043f\u0451\u0440\u00bb (\u00abMineSweeper\u00bb). \u041b\u043e\u0433\u0438\u043a\u0430 \u0438\u0433\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u0430, \u043d\u043e \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0437\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0435\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u0430\u0436\u0435 \u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u0435. \u0412 \u043c\u043e\u0435\u043c \u0431\u043e\u0442\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u0442\u0440\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u043e\u043b\u0435. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043e 100- \u0438 0-\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0438\u043d\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044f \u043d\u0430\u0443\u0433\u0430\u0434 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u0441\u0430\u043f\u0435\u0440\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u00ab\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u00bb \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c 33% \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e 44% (Windows 7).   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-211188","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/211188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=211188"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/211188\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=211188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=211188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=211188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}