Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Мифические шахматы

(Время: 1 сек. Память: 16 Мб Сложность: 42%)

Решение 1

Способ, которым воспользовалось большинство команд-участниц, заключался в рассмотрении всех вариантов расположения клеток относительно друг друга. Пусть клетка A – начальная позиция, а B – конечная. Тогда возможны следующие ситуации:

  • A и B совпадают, тогда ответ 0;
  • B - белая, тогда ответ -1;
  • A и B - черные, тогда если они лежат на одной диагонали, то ответ 1, иначе 2;
  • A - белая и B - черная, тогда необходимо проделать те же действия для восьми точек, в которые можно попасть конем, и выбрать минимальное значение.

Для определения цвета клетки с координатами (x,y) воспользуемся утверждением: если (x+y) нечетно, то клетка белая, иначе черная.

Решение 2

Для решения этой задачи можно воспользоваться волновым алгоритмом.

Сначала заполним массив -1, а в точку A поставим 0. А затем выполним три прохода (так как количество ходов не может быть больше трех) по массиву. Если в текущую клетку можно было попасть на предыдущем ходе, то необходимо отметить все клетки доски, в которые кентавр может попасть из этой клетки. Если текущая клетка белая, то выполняем ход коня (отмечаем 8 клеток, если они не выходят за границы доски и еще не отмечены). Если – черная, то отмечаем обе диагонали в обоих направлениях (с учетом аналогичных условий).

В результате заполнения доски вышеописанным образом в точке B мы будем иметь ответ на задачу.

Разбор: Кормышов М.Д.

[Обсуждение] [Все попытки] [Задача]


Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru