Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Морской Бой / Олимпиада - Самый лучший алгоритм

  • На участие в олимпиаде было прислано 10 работ.
    В этом видео мы проводим тестирование всех программ.
    Домашнее задание - составить словесный алгоритм ИИ.
  • Дата отправки отчёта: 12 декабря 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Искать разные способы решения поставленной задачи.
    Сравнивать эффективность разных алгоритмов с помощью C#.
    Эффективно играть в Морской бой. :-)
  • Что было сложным: Придумать свой эффективный алгоритм, отличающийся от предложенных. Пока не удалось.
    Предположения:
    - задействовать random, чтобы защититься от искусственно подобранных "контррасстановок";
    - перед каждым выстрелом находить возможное расположение кораблей;
    - стремиться к равномерному обстрелу вертикалей и горизонталей;
    - возможно, использовать заготовленные шаблоны совместно с random.
  • Комментарии: Понравился алгоритм Orange.
    Свой пока сделаю простым.
    1. Создадим матрицу 10 × 10, в которой номерами установим порядок обстрела всех точек.
    - Правило обстрела выберем по диагоналям с постепенно уменьшающимся интервалом.
    - Оставшиеся часть матрицы заполним, отразив первую зеркально.
    2. Будем последовательно перебирать в заданном порядке я чейки для обстрела.
    3. Стреляем, если ячейка имеет статус "неизвестно".
    4. Если ранили, то добиваем корабль.
    - проверяем ячейки по горизонтали и по вертикали от раненой;
    - если снова попали, запоминаем направление, а соседние ячейки в другом измерении помечаем "мимо";;
    - если после этого промах - добиваем в обратную сторону;
  • Оценка видео-уроку:
Отчёт от 7980 за Морской Бой / Олимпиада - Самый лучший алгоритм




Оцени работу

 
Сохранить страницу:

6391. --
Владимир
Владимир
ответить

24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-12 23:53

Сергей, это очень круто! Вижу как ты старательно и усердно проработал урок! Молодец! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 01:35

Красота! Очень здорово придумал.


4814. --
Дмитрий
Дмитрий
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 05:23

Хороший алгоритм.
Понравилось, что достаточно быстро проверяются клетки на граничных линиях, на 5-12 ходах.
Опытные игроки отдают под бой многопалубные корабли и оставляют одиночным целых 60 клеток в распоряжение.
Чем раньше уничтожишь многопалубники, тем лучше.


1901. --
Neverwinter 2
Neverwinter 2
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 08:58

Здорово! Попробовал искать цифры 1, 2, 3, 4, 5,.... из-за смены цветов это оказалось непросто! Ищешь то старый цвет и думаешь - ну где же где же 13.... Красиво, молодец!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Neverwinter 2  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 11:03

Понятно!))) Разные цвета появлялись почти случайно. Я для себя помечал небольшие группы одним цветом, чтобы самому отслеживать равномерность и заполнения поля числами. А потом для облегчения повторного поиска внизу добавил шкалу с соответствием числовых диапазонов цветам.



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Познакомился с представленными на уроке алгоритмами - это фантастика!!! Одно дело реализовать алгоритм, а другое - его придумать и описать!!!! Мышление участников, представивших свои алгоритмы, меня привело в восторг!!!
Отдаю свой голос безусловно за Оранджа 2775 в обоих вариантах! Он умудрился придумать абсолютно нетривиальный алгоритм, ломающий систему в рамках правил!!! (2775х). Хотя авторы других алгоритмов проявили не меньшую находчивость их алгоритмы более понятны для восприятия и осмысления ))))))


Научился: Научился вряд ли чему, было интересно посмотреть на алгоритмы других людей, понял к чему надо стремиться так как мой алгоритм пока что показывает в среднем 64 удара за игру
Понравился алгоритм Евгения и Orange (читерский). Мое мнение что отчеты этого и предыдущего урока надо поменять местами , так как на прошлом уроки многие реализовали алгоритм, а в этом надо составить словесный алгоритм ИИ, что поздновато.