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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вебинар «Мастер-класс. Как стать высокооплачиваемым программистом.» начнётся через 3 дня 12 час. 39 мин.

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

  • На участие в олимпиаде было прислано 10 работ.
    В этом видео мы проводим тестирование всех программ.
    Домашнее задание - составить словесный алгоритм ИИ.
  • Дата отправки отчёта: 9 июля 2015 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Алгоритм ИИ:
    1. Сначала ИИ должен найти и уничтожить самые большие корабли, начиная с четырёхпалубника. Море простреливается с шагом 4.
    2. Если он попал в какой-нибудь корабль, ИИ добивает его и продолжает простреливать Море.
    3. После того как был найден и уничтожен четырёхпалубник, ИИ начинает простреливать Море с шагом 3 в поисках трёхпалубников.
    4. В поисках двухпалубников ИИ стреляет с шагом 2 и потом ищет и добивает однопалубные.
    5. Найдя и убив какой-либо корабль ИИ отмечает область вокруг него как пустую, т.к. корабли не могут соприкасаться.
  • Что было сложным: всё понятно.
  • Комментарии: Мне понравился алгоритм 4004. Продолжим!
  • Оценка видео-уроку:
Отчёт от 5265 за Морской Бой / Олимпиада - Самый лучший алгоритм




Оцени работу

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


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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Просмотрел работы участников, очень все понравилось! Все молодцы!
Мне больше всего понравился алгоритм Orange, потому что на большом количестве тестов он явно показывает свою эффективность. Словесный алгоритм для игры "Морской Бой": Стрелять случайно по полю, но если нашли корабль, то стреляем влево, вправо, вверх или вниз, чтобы "убить" его целиком. Понятное дело, что по тем клеткам, по которым стреляли, уже не будет производить выстрел и также будем запоминать те клетки, которые обрамляют корабли, что в них стрелять тоже не надо.
Научился: Внимательно смотреть видео
Трудности: Придумывать свой алгоритм, при условии что уже видел какие то, все мысли скатываются к увиденному)))
Давайте немного поимпровизируем. Сначала расчертим сетку для поиска трёхпалубных и поищем только у бортов. Таким обрахом найдйм и четырёхпалубные у тех же бортов (Если находим сразу же добиваем). Затем если не нашли ищем четырёх палубрый уже по сетке четырёхпалубных в центральной части. Соответственно всегда когда что то находим то добиваем. Ну а потом воспользуемся весом клеток как делал Орандж, думаю это самое время для этого алгоритма. Жаль, что меня не было на проекте, когда была эта олимпиада ))