bool Ariadna(table t, point p) { bool l_d = false; if (g_d && l_d) { CallBackMy.callbackEventHandler("Рассматриваем таблицку\n"); t.print(); t.print_cand(); CallBackMy.callbackEventHandler("\n"); } t.set_cell(p); int k = 0; for (k = 0; (k < 5) && !t.is_full(); k++) { try { t.Check(); //методы работы для Ариадны t.creating_blocks(); t.optimization_blocks(); t.Check(); t.sum_two(); t.check_set_single(); t.Check(); t.max_stairs(); t.check_set_single(); t.Check(); t.min_stairs(); t.check_set_single(); t.Check(); t.free_stairs(); t.check_set_single(); t.Check(); //t->print_blocks(); //сама Ариадна //if (t.entry_level < 2 && k >= 4) //{ // t.Ariadna_s_thread(); t.check_set_single(); //} } catch (Exception e) { CallBackMy.callbackEventHandler("Уровень " + t.entry_level + ": Ариадна отсекла кандидат " + p.value + " у ячейки (" + p.x + ", " + p.y + ")\n"); this.candidates[p.x, p.y, p.value - 1] = false; return(true); } } if (g_d && l_d) { CallBackMy.callbackEventHandler("После преобразований\n"); t.print(); t.print_cand(); CallBackMy.callbackEventHandler("\n"); } return(false); }