Pull to refresh
87
0
Степан @TheHorse

User

Send message
На вскидку, мне кажется что объединять в такие небольшие группы — потеря информации. Группой должно быть множество связанных ячеек. 2 ячейки являются связанными если их соединяет открытая ячейка. ну и так далее. Потом, внутри группы делаем бэктрекинг, выделяем множество подходящих решений (подходящих под информацию с открытых клеток). Ищем ячейки которые являются минами или не минами сразу во всех подходящих множествах ну и собственно закрашиваем их.
Такой метод может помочь, когда нельзя сделать точный выбор из небольших групп. Ну и по прогнозам, должно работать достаточно быстро, даже если в группу будет входить 100 ячеек, хотя казалось бы возможных вариантов — 2^100.

Ну и плюс, было бы круто сделать робота который бы не используя вероятности мог решать решаемые поля, и на основе этого робота перегенерировать поле до тех пор пока оно не станет гарантированно решаемым.
Я бы сложность конкретного экземпляра оценивал минимальной глубиной бэктрекинга (backtracking) необходимого для решения этого экземпляра. Ну и не опирался бы на то, что решение должно быть единственным. Зачем?

Я это к тому, что судоку может быть очень сложным с 30 открытыми ячейками а может быть и элементарным с тем-же количеством открытых ячеек.
У меня в голове крутится большой взгляд на политические темы, но если я буду об этом говорить, мои слова будут неразумными т.к. мне по сути нечего сказать т.к. я не понимаю достаточно глубоко те процессы.

Писать нужно тогда, когда есть о чем поведать, когда мысли структурированные и подкреплены чем-то более серьезным.

Прочитал, добровольно, полностью. Навеяло только одну мысль:

Макаревич:
И лишь только тот, Кому нечего сказать,
Громче всех кричит, Он громче всех кричит.
Я увидел математику в преобразовании в двоичную систему исчисления. Математика не сложная, но все-же математика.
> Но ведь это не так?!
Да именно так. Другие науки не являются дочерними по отношению к ней, но без нее они не могу существовать.
Да, нормален.

Я увидел тут понимание двоичной системы исчисления, дискретную математику. Думаете если бы вы этого всего не знали, то-же самое бы написали?

Простое и очевидное решение. Но не оптимальное.
Я пару раз видел как людям не хватало математики для пагинации в собственном убер движке/framework/CMS.
2^30 ~= 1 000 000 000. Вложенный цикл — *30. Короче, на С за считанные секунды осилит.
А нормализация АE куда делась?
Насколько я знаю, герой поста учится в лицее, а в лицеях такие достижения чтут. Думаю ваш брат не видит полной картины. Собственно в лицеи обычно попадают мотивированные ученики, которые таки учат что-то помимо школьной программы, оттого там и столько разных чемпионов, призеров и прочих замечательных людей.
Думаю лучше в одном, тогда будет возможность услышать все.
Говоря о том, что было до strict private, есть 2 нюанса, которые говорят о том, что все-таки не модуль является единицей инкапсуляции:
1. Приватный метод класса можно вызвать из другого модуля (например, посредством перегрузки (override) метода с другой областью видимости)
2. Синтаксически и семантически свойства и методы инкапсулируются в класс.
Вопрос знатокам, что есть единицей инкапсуляции в Delphi? Если бы не то свойство, что приватные свойства класса можно дергать не только из экземпляров этого класса, но и из любого места модуля, в котором он определен, то можно было бы предположить, что единцей инкапсуляции является класс, но похоже что все-таки модуль, что странно, поскольку свойства и методы инапсулируются именно в класс.

unit Unit2;

interface

type
  TSomeClass = Class
  private
    x : integer;
  end;

var
  foo : TSomeClass;

implementation

initialization
  foo := TSomeClass.Create;
  foo.x := 10;
  foo.free;
end.

Delphi 7 спокойно компилирует этот код, и считает что в нем нет ошибок.
Для реализации Hash-контейнеров на основе открытой адресации, количество коллизий не зависит от количества элементов.

Впрочем, 256 элементов — действительно несерьезно для бенчмарка контейнеров.
Давно мечтаю найти первоисточник того, что добавило абстракция в основные принципы ООП.

P. S. Про automated впервые слышу((
Нет. Инкапсуляция — объединение внутренностей внутри класса (таким образом, чтобы доступ к этим функциям лежал только через этот класс, и увидеть их можно было только в этом классе). А сокрытие данных — модификаторы доступа к данным (private, protected, public) и прочие механизмы, которые ограничивают доступ (в том числе видимость) к данным.
Да, если бы не упоминание Дейкстры, то дальше бы даже не читал… Просто слишком много про ООП говорят те, кому нечего сказать.
Могут уволить за регулярные опоздания, например, вне зависимости от проф. навыков.

Information

Rating
Does not participate
Location
Уральск, Уральская обл., Россия
Date of birth
Registered
Activity