Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
temy_kursovoy_2015_KMRF_full_2015_01_22_ukr.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
305.15 Кб
Скачать
  1. Проверка на шах

Вашей задачей является написание программы, которая считывает положение на шахматной доске и определяет, атакован ли король (находится ли он под шахом). Король находится под шахом, если он может быть взят следующим ходом противника. Белые фигуры будут представлены прописными буквами, черные фигуры - строчными буквами. Белая сторона доски всегда находится снизу, черная сверху. Для тех, кто не знаком с шахматами, вот как ходит каждая фигура.

Пешка (Pawn - р или Р): может ходить только прямо вперед по одной клетке за ход. Тем не менее фигуры она берет по диагонали, а в этой задаче вас интересует именно это.

Конь (Knight - п или N): ходит буквой «Г», как показано ниже. Это единственная фигура, которая может перепрыгивать через другие.

Слон (Bishop - b или В): может ходить на любое число клеток по диагонали вперед и назад.

Ладья (Rook - г или R): может ходить на любое число клеток по вертикали или горизонтали вперед и назад.

Ферзь (Queen - q или Q): может ходить на любое число клеток в любом направлении (по диагонали, вертикали или горизонтали) вперед и назад.

Король (King - k или К): может ходить на одну клетку в любом направлении (по диагонали, вертикали или горизонтали) вперед и назад.

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

Не забывайте, что конь - это единственная фигура, которая может перепрыгивать через другие. Направление движения пешки зависит от ее цвета. Если пешка черная, то она может двигаться на одну клетку по диагонали в направлении низа доски. Если это белая пешка, то она может двигаться на одну клетку по диагонали в направлении верха доски. Сверху показан пример с черной пешкой, обозначенной строчной «р». Мы используем слово «двигаться» для обозначения клеток, на которых пешка может взять фигуру

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

На вход будет подано произвольное количество позиций на шахматной доске, каждая состоит из восьми строк по восемь символов каждая. Символ «.» обозначает пустую клетку, тогда как прописные и строчные буквы обозначают фигуры, как было описано выше. Некорректные символы вводиться не будут, и позиции, при которых оба короля под шахом, вводиться также не будут. Вы должны считывать входные данные до тех пор, пока не обнаружите пустую доску, состоящую из одних символов «.», которую обрабатывать не нужно. Между двумя позициями будет пустая строка. Все позиции, за исключением пустой, будут содержать ровно одного белого и одного черного короля.

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

Для каждой считанной позиции вы должны вывести один из следующих ответов:

d означает номер игры, начиная с 1.

19

7/3/2025

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]