Pull to refresh
70
-8
Send message

Но есть нюанс, Детерминированая реализация машины на битовых формулах была реализована в 1950-ых. В книге "Искусство программирования, том 4a" "The Art of Computer Programming, volume 4a", есть описание реализация и задание для таких крестиков ноликов.

Section 7.1.2 of the Volume 4 pre-fascicle 0A of Donald Knuth's The Art of Computer Programming is titled “Boolean Evaluation.” In it, Knuth considers the construction of a set of nine boolean functions telling the correct next move in an optimal game of tic-tac-toe. In a footnote, Knuth tells this story:

This setup is based on an exhibit from the early 1950s at the Museum of Science and Industry in Chicago, where the author was first introduced to the magic of switching circuits. The machine in Chicago, designed by researchers at Bell Telephone Laboratories, allowed me to go first; yet I soon discovered there was no way to defeat it. Therefore I decided to move as stupidly as possible, hoping that the designers had not anticipated such bizarre behavior. In fact I allowed the machine to reach a position where it had two winning moves; and it seized both of them! Moving twice is of course a flagrant violation of the rules, so I had won a moral victory even though the machine had announced that I had lost.

НЛО прилетело и опубликовало эту надпись здесь

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

Новинки книг о которых в комментариях часто пишут, что очередная книга по React\Angular\etc устарела на момент выхода, что чистая правда. Потому что есть фундаментальные книги, которые готовят базу для чтения "новой" документации по React\Angular\etc. Но даже такие устаревшие книги часто бывают полезны, потому что автор книги через свой опыт приводит примеры, ошибки и мысли, которые не рассмотрены в документации.

1. 20000 и 15000 это разный обьем памяти и циклов.
2. Количество памяти влияет на кеш, а он как известно очень мал
3 ????
4 выдляем 100500 нормируем и говорим что С++ медленный.
Еще один, он потом пробегает это в двух вложенных циклах, именно размер созданого массива.
Может народ дурить не будешь, в коде С++ ты 4 раза выделил память на 20000 символов
    std::string s1(20000, 'a');
    std::string s2(20000, 'a');
    std::string s3(20000, 'b');

  std::vector<int64_t> v0;
  v0.resize(n + 1);
  std::iota(v0.begin(), v0.end(), 0);


а в коде С ты выдялешь 15000
   const int len = 15000;
    int i;
    char s1[15001], *s2 = s1, s3[15001];

причем создаешь как ты говоришь на СТЕК, а не на динамической памяти как в С++.
Не только, в коде С++ там тоже 20000, а во всех остальных языках 15000 даже в С, что как бы намекает.
https://en.cppreference.com/w/cpp/utility/initializer_list
ты слово Array видишь, а метод size? и что это не вектор по твоему?
случайно продублировал
Компилятор, команды символьных строк, переводить в бинарный машинный код, а то что ты говоришь должен, делать программист. Например можно с помощью бинарных операций найти минимальное число, без использования if, источник как это сделать Алгоритмические трюки для программистов [Генри С. Уоррен мл.] Hacker's Delight
Так ты не болаболь а проверь, теоретик
Просто кто-то программировать не умеет, меняем:
 v1[j + 1] = std::min({delCost, insCost, substCost});

на
v1[j + 1] = std::min(std::min(delCost, insCost), substCost);

и о чудо, не нужно список(вектор) из трех переменных инициализировать (выделять память) и удалять ее. На моей машине ускорение в 3 раза.
P. S. Ох уж эти истории про медленный C и C++
Достверно известные игры для таких соеденений были
Wiki Lords of Chaos
WorldOfSpectrum Lords of Chaos
Wiki Last Battle
WorldOfSpectrumLast Battle
Wiki Laser Squad
WorldOfSpectrum Laser Squad

а также полностью Real Time игра, с возможностью передать 10 байт за 1 fps
WorldOfSpectrum Quake I
Habr Quake I
Добавил описание алгоритма в новый раздел статьи.
Спасибо, что показали, что у меня не разу в жизни на дефолтных windows (не на firefox, не на chrome), не отображается шрифты так как вы задумали.
Вот только программный кубик Рубика он соберет за пикосекунду.
Можно ли запустить Qt Creator и в целом полное Qt FrameWork с MinGW и разрабатывать из ReactOS?
Не смотря на 35 летний возраст платформы, на ней еще выходят замечательные софт и игры, тому пример ремейк DIZZY
image
Скрин из ремейка Dizzy 2017 года (подробнее на тут или тут)

ZXArt — галерея рисунков и музыки
ZX PK.ru — главный форум по спектруму
1
23 ...

Information

Rating
Does not participate
Registered
Activity