eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Партія у шахи

Партія у шахи

Шахи - настільна логічна гра, яка поєднує у собі елементи мистецтва, науки та спорту. Вважається однією з самих давніх ігр на Землі...____________________________________ \href{http://ru.wikipedia.org}{Вікіпедія, вільна енциклопедія} Гра відбувається на дошці, поділеній на рівні квадратні клітинки (розмір дошки \textbf{8}×\textbf{8} клітинок). Традиційно клітинки нумеруються по горизонталі латинськими літерами від \textbf{a} до \textbf{h}, по вертикалі цифрами від \textbf{1} до \textbf{8} (кожна клітинка має відповідне позначення, наприклад, \textbf{c4}). Клітинки розфарбовано у чорний та білі кольори, так що сусідні по вертикалі та горизонталі клітинки розфарбовано у різні кольори, а клітинка \textbf{a8} - біла. Грають два гровці. Кожен має набір фігур, у який входять: один король, один ферзь, два слони, два коня, дві тури, вісім пішаків. Один гравець грає білими фігурами, інший - чорними. На початку гри фігури розміщуються на фікованих позиціях, займаючи рівно два рядки \textbf{1} та \textbf{2} білі, \textbf{7} та \textbf{8} чорні). Порядок початкового розміщення фігур на рядках \textbf{1 та} \textbf{8} (від \textbf{a} до \textbf{h}): тура, кінь, слон, ферзь, король, слон, кінь, тура. Горизонталі \textbf{2} та \textbf{7} займають пішаки. Гравці роблять ходи по черзі, спочатку ходять білі, потім чорні, і так далі. На свому ході гравці переміщують рівно одну фігуру за правилами ходу цієї фігури. Заичайно, що партію, коли вона грається, має зміст записувати (наприклад, щоб мати змогу відновити її пізніше). Для цього розроблена спеціальна нотація. Ваша задача - відновити положення фігур у кінці партії, якщо відомий запис усіх її ходів. У даній задачі Вам зовсім не обов'язково знати, як ходить та чи іиша фігура. Але варто зосередити увагу на двох спеціальних ситуаціях. Перша ситуація, яка потребує спеціального розгляду у даній задаче, називається \textit{рокіровкою}. Рокіровкою називається одночасне переміщенне короля та однієї з тур того же кольору по крайній горизонталі (вважається одним ходом короля) і воно виконується наступним чином: король перемущується з його початкового поля на два поля у напрямку до тури, потім тура переставляється через короля на останнє поле, яке тільки що король пересік. Буває два види рокіровок: довга та коротка. На наступному малюнку показано вид поля з початковою розстановкою (ліворуч), а також два види рокіровок (праворуч). Друга ситуація виникає тоді, коли пішак, пройшовши поле, досягає крайньої горизонталі. Для білого пішака це восьма горизонталь, а для чорного - перша. Наприкінці такого ходу пішак може претворитись у довільну фігуру такого ж кольору, але не в пішака і не в короля. \InputFile У першому рядку вхідного файлу записано натуральне число \textbf{n} (\textbf{n} ≥ \textbf{1}) - кількість ходів у запису партії. Наступні \textbf{n} рядків мають формат \textbf{Fx_1y_1-x_2y_2}. У цьому рядку символ \textbf{F} позначає фігуру, яка робить хід (\textbf{K} - король, \textbf{Q} - ферзь, \textbf{R} - тура, \textbf{B} - слон, \textbf{N} - кінь, \textbf{P} - пішак). При цьому білі фігури позначаються великими літерами, а чорні - маленькими. Наприклад, \textbf{K} - це білий король, а \textbf{r} - чорна тура. Пари символів \textbf{x_1y_1} та \textbf{x_2y_2} - це координати фігури до ходу та після того, як хід було зроблено, відповідно. У цьому запису \textbf{x_1} та \textbf{x_2} - символи стовбців, а \textbf{y_1} та \textbf{y_2} - номери рядків. Коротка рокіровка позначається \textbf{0-0}, довга \textbf{0-0-0}, де \textbf{0} - нуль, при цьому чорна та біла рокіровка не відрізняються за записом. Якщо під час ходу пішак дістався до протилежної крайної горизонталі, то додається символ \textbf{F'} у кінець запису ходу. \textbf{F'} - це символ фцгури, у яку перетворюється пішак (згідно описаної вище специфікації). Деякі приклади: запис \textbf{Pe2-e4} означає, что білий пішак зробив хід з \textbf{e2} на \textbf{e4}, запис \textbf{pe2-e1q} означає, що чорний пішак зробив хід з \textbf{e2} на \textbf{e1} і перетворився у ферзя. Вважайте, що усі ходи зроблено за правилами шахів, більше того, у вхідному файлі ніколи не буде ситуації, коли пішак береться на проході. \OutputFile У вихідний файл виведіть вісем рядків по вісім символів у кожному. Рядки описують горизонталі шахового поля, у порядку з восьмої по першу. Стовбці описують вертикалі шахового поля, у порядку з \textbf{a} по \textbf{h}. Символи відповідають фігурам, які знаходяться у відповідних позиціях, і їх потрібно виводити у тому ж форматі, який використовується у вхідному файлі. Для пустих клітинок поля необхідно виводити символ "\textbf{.}" (крапка).
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
9
Pe2-e4
pe7-e5
Pd2-d3
ng8-f6
Bc1-g5
nf6-e4
Bg5-d8
ke8-d8
Qd1-h5
Вихідні дані #1
rnbk.b.r
pppp.ppp
........
....p..Q
....n...
...P....
PPP..PPP
RN..KBNR
Джерело Blitz Contest by SPbETU & Michael Dvorkin, Petrozavodsk Winter Training Session, January 31, 2006