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

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

HotLog


 

Шахматные фигуры

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

По заданным координатам двух клеток шахматной доски необходимо определить список шахматных фигур, которые могут перемещаться при игре за «белых» по правилам шахмат из первой координаты во вторую без взятия фигуры соперника.

Напомним, что для игры в шахматы используется доска размером 8х8. При этом горизонтальная координата нумеруется английскими буквами от «A» до «H», а вертикальная – цифрами от 1 до 8 снизу вверх. Таким образом, координата клетки состоит из буквы и цифры. Например, «H1» и «A8» – правый нижний и левый верхний углы соответственно.

Всего существует 6 шахматных фигур: ладья, слон, конь, ферзь, король и пешка. Опишем правила выполнения хода без взятия на свободной доске:

  • король ходит на расстояние 1 по вертикали, горизонтали или диагонали;
  • ферзь ходит на любое расстояние по вертикали, горизонтали или диагонали;
  • ладья ходит на любое расстояние по вертикали или горизонтали;
  • слон ходит на любое расстояние по диагонали;
  • конь ходит буквой «Г», т.е. на поле, находящееся на расстоянии 2 по вертикали и 1 по горизонтали или 1 по вертикали и 2 по горизонтали;
  • пешка ходит на 1 поле вперед по вертикали, начиная свое движение со второй линии, при первом ходе пешка может перемещаться на 2 поля вперед по вертикали.

Следующие рисунки отражают возможные перемещения шахматных фигур (в скобках указаны англоязычные названия фигур):

Шахматная доскаЛадья (Rook)Слон (Bishop)
Конь (Knight)Ферзь (Queen)Король (King) Пешка (Pawn)

Входные данные

В первой строке входного файла INPUT.TXT через пробел записаны начальная и конечная координаты шахматной доски. Каждая координата состоит из заглавной английской буквы от «A» до «H» и цифры от 1 до 8. Гарантируется, что начальная и конечная координаты не совпадают.

Выходные данные

В выходной файл OUTPUT.TXT выведите по-английски названия шахматных фигур, которые могут совершить свободный ход из первой координаты во вторую по правилам шахмат. Если ни одна из фигур не может выполнить такой ход, то следует вывести «Nobody». Фигуры следует выводить без повторов в произвольном порядке.

Примеры

INPUT.TXTOUTPUT.TXT
1D3 D7Queen
Rook
2F4 H5Knight
3E2 E3King
Queen
Rook
Pawn
4A1 H7Nobody

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Условный оператор
 Операторы цикла
 Строковые типы данных
 Массивы
 Функции
 Сортировка
 Двумерные массивы
 Рекурсия
 Простые сравнения
 Шахматы
 Алгебра и геометрия
 Сложные задачи
 A. Ладья
 B. Слон
 C. Ферзь
 D. Король
 E. Конь
 F. Пешка
 G. Шахматное поле
 H. Клетки
 I. Игра с ладьей
 J. Шахматные фигуры

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