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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

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

  • На участие в олимпиаде было прислано 10 работ.
    В этом видео мы проводим тестирование всех программ.
    Домашнее задание - составить словесный алгоритм ИИ.
  • Дата отправки отчёта: 6 декабря 2015 г.
  • Задание выполнено: за 5 мин.
  • Чему научился: Составлять алгоритм ИИ
  • Что было сложным: Ничего
  • Комментарии: Понравился алгоритм 4362
  • Оценка видео-уроку:
Отчёт от 7941 за Морской Бой / Олимпиада - Самый лучший алгоритм




Оцени работу

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

2146. Иван
Иван
ответить
→  Артём  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-06 00:42

Отлично. Теперь хорошо бы попробовать его реализовать .



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Изучил алгоритмы поиска кораблей
Трудности: Выбрать один алгоритм.
Хоть у Orange самый быстрый алгоритм, однако более понятным и простым решением для меня оказалось решение Елены Вставской. Сразу стало всё интересно и понятно. Чем-то напоминает поиск каждой 4клетки решето Эратосфена:)
Научился: Просмотрела разные алгоритмы и их загрузку через абстрактный класс.
Трудности: Понять как это все работает. И алгоритмы и их загрузка.
Алгоритмы public и orange. Как я поняла, к любому из представленных алгоритмов можно найти более оптимальные расстановки. Есть мысль использовать в программе 2-3 алгоритма, выбирая номер алгоритма рандомно. Алгоритм. Найти все точки, где может быть четырехпалубный корабль. Выделить их в массив. Стрелять рандомно по свободным, пока есть не проверенные. Если корабль подбит, пометить соседние ячейки как пустые. Если ранен, рандомно проверить во всех направлениях, пока не останется одно. Добиваем корабль. Здесь можно сделать проверку какие корабли остались и определить может ли корабль быть размещен горизонтально/вертикально, сколько. И стрелять по наиболее удачной ячейке. Далее проверяем на двухпалубные корабли. Опять выделяем места, где они могут быть размещены и стреляем рандомно, пока не проверим все. Оставшиеся однопалубники ищем рандомно из числа не проверенных ячеек.