Задача 4. Шахматы Входной файл стандартный ввод / input.txt Выходной файл стандартный вывод / output.txt Ограничение времени (сек/тест) - вопрос №4706848

1 Ограничение памяти (Мб) 256 Максимальный балл 100+25 Условие задачи Ученик физико-математического класса Вовочка поспорил с учителем информатики, что за месяц разработает компьютерную программу игры в шахматы, которая сможет в одной из трех попыток победить учителя. И с энтузиазмом принялся за написание программы. Очень скоро Вовочка осознал сложность задачи, которую взялся решать, но проигрывать в споре с учителем ему очень не хотелось. Поэтому он решил разделить задачу на части и попросить помощи в реализации отдельных частей у своих друзей. Одной из множества частных задач, выделенных Вовочкой из основной задачи, является подсчет количества возможных ходов, которые можно сделать каждой из фигур в текущий момент игры. Вовочка просит вас помочь ему решить данную задачу. Правила игры в шахматы широко известны и поэтому приводить их в условии данной задачи не имеет смысла (если кто-то этих правил не знает, можно воспользоваться информацией из Википедии ru.wikipedia.org/wiki/Шахматы или других источников). Однако стоит обратить внимание участников олимпиады на тот факт, что в результате хода король игрока, осуществившего ход, не должен оказаться на битом (находящемся под ударом любой фигуры соперника) поле.Также стоит уточнить, что на первоначальном этапе Вовочка решил, что рокировка является недопустимым ходом. Входные данные Во входном файле записана информация о расстановке фигур на шахматной доске. Каждая клетка доски описана одним символом, т.е. файлы записано 8 строк по 8 символов. Пустым клеткам соответствует символ «точка» ('.'), белые фигуры кодируются заглавными латинскими буквами: король – 'K' (king), ферзь – 'Q' (queen), ладья – 'R' (rook), конь – 'N' (kNight), слон – 'B' (bishop), пешка – 'P' (pawn). Черные фигуры кодируются теми же самыми латинскими буквами, только прописными, т.е. 'k', 'q', 'r', 'n', 'b' и 'p' соответственно. Положению фигур в начале игры соответствует входной файл, где черные фигуры описываются двумя первыми строками входного файла, а белые фигуры – двумя последними строками. Выходные данные В выходной файл необходимо для каждой белой фигуры (включая пешки) записать количество ходов, которые можно осуществить данной фигурой в соответствии с правилами игры в шахматы при расстановке фигур на шахматной доске, указанной во входном файле. Очевидно, что в случае мата, поставленного белому королю, у любой белой фигуры не будет допустимых ходов (в выходной файл для каждой белой фигуры необходимо записать количество ходов – 0). Порядок вывода количества ходов для белых фигур соответствует порядку описания этих фигур во входном файле, если данный файл читать посимвольно. Т.е. нумерация фигур осуществляется сверху вниз, а в строке слева направо согласно описанию во входном файле (или на соответствующей картинке-пояснении). Для первого примера входных данных порядок белых фигур следующий: ферзь, пешка, пешка, слон, пешка, пешка, пешка, пешка, пешка, пешка, ладья, конь, слон, король, конь, ладья. Олимпиада «Смарт Старт», 2021 -20 22 Программирование, отборочный этап Пример входного файла (stdin / input.txt) Пример выходного файла (stdout / output.txt) Комментарий r.bqk.nr .ppp..pp n...p… p....p… .b...QP. ...P...B PPP.PP.P RNB.K.NR 2 0 0 0 0 0 1 0 0 0 0 2 1 2 0 0 Белому королю объявлен шах (черным слоном), поэтому очередной ход белых должен данный шах устранить. Для этого необходимо или уйти от шаха (сделать ход королем на одну из соседних пустых белых клеток) или закрыться от шаха, т.е. от черного слона (пешкой – 1 ход, конем – 2 возможных хода, слоном – 1 ход, ферзем – 1 ход) или взять слона ферзем (т.е. всего ферзем можно сделать 2 различных хода). r.b.k.nr .pppq.pp n...p… p....p… .b...QP. ..NP...B PPP.PP.P R.B.K.NR 14 2 0 1 2 2 1 0 2 1 0 1 2 3 1 0 В данной ситуации от шаха белого короля прикрывает конь (рядом с черным слоном), следовательно, этим конем сделать ход нельзя. Остальными белыми фигурами можно выполнить любой допустимый ход в соответствии с правилами для данной фигуры (некоторые белые фигуры «зажаты» и не могут сделать ни одного хода)
Вопрос задан анонимно
02.04.22
0 ответов
Ответов пока нет

Еva

от 100 p.
Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store