
- •«Русские шашки»
- •Система обозначений
- •Расположением фигур на доске.
- •Последним сделанным ходом.
- •1. Расположение фигур на доске.
- •2. Сделанный ход.
- •Задача 1.1. «Архивация» (100 баллов)
- •Задача 1.2. «Разархивация» (100 баллов)
- •Задача 2. Определение сделанных ходов (200 баллов)
- •Задача 3. Взятие (200 баллов)
- •Задача 4. Проигрыш в два полухода (200 баллов)
- •Задача 5. Защита от дурака (200 баллов)
XIII Областная заочная олимпиада
по программированию
среди учащихся общего, профессионального и дополнительного образования
«Играем в программистов»
2013-14 учебного года
«Русские шашки»
Уважаемые участники олимпиады!
На этот раз все задачи объединены темой «Русские шашки». Надеемся, что каждый из вас знает эту игру и её правила. Тем не менее, перед началом работы над задачами советую ознакомиться с ними (http://ru.wikipedia.org/wiki/%D0%F3%F1%F1%EA%E8%E5_%F8%E0%F8%EA%E8).
Напоминаю, что каждое поле шашечной доски имеет своё название, которое складывается из наименований колонки, (заглавная латинская буква) и строки (цифра). Например, A1 – нижнее левое поле.
Уважаемые участники, с особой тщательностью прочтите нижеследующую информацию!
Система обозначений
Фигуры обозначаются следующим образом:
|
шашка |
дамка |
белые |
S |
D |
чёрные |
s |
d |
Будем, как в шахматах, шашки и дамки называть фигурами. Обратите внимание и на то, что белые фигуры обозначаются ЗАГЛАВНЫМИ латинскими буквами, а чёрные – строчными латинскими буквами.
Текущее положение определяется двумя составляющими:
Расположением фигур на доске.
Последним сделанным ходом.
Теперь подробно об этом
1. Расположение фигур на доске.
Расположение фигур на доске задаётся в виде восьми строк. В каждой строке по восемь символов. Первая строка соответствует восьмой параллели доски, вторая – седьмой, …, восьмая – первой. В строках допустимы лишь символы из вышеприведённой таблицы и нули, обозначающие пустое поле. Например, начальному расположению фигур соответствует: |
0s0s0s0s s0s0s0s0 0s0s0s0s 00000000 00000000 S0S0S0S0 0S0S0S0S S0S0S0S0
|
2. Сделанный ход.
Сделанный ход обозначается следующим образом. Ход без взятия записывается в виде двух обозначений полей, разделённых знаком «-», например, F4-G5 означает ход с поля F4 на поле G5. Ход со взятием записывается в виде обозначений полей, по которым проходит бьющая шашка, разделённых двоеточием, например: F4:H6 означает ход с поля F4 на H6 со взятием шашки, стоящей на поле G5, а F4:H6:F8:C5:G1 — ход со взятием четырёх шашек (и попутным превращением шашки в дамку!).
Примеры записи ходов:
A1-B2 |
Белая шашка (или дамка) с A1 на B2. |
H8:F6 |
Чёрная шашка (или дамка) с H8 бьёт на F6. |
A1:C3:E5:G3 |
Многократное взятие белой шашкой (а, возможно и дамкой) начиная с A1 до G3. |
A3:C1 |
Взятие чёрной шашкой с A3 на C1 с прохождением в дамки. |
A1:D4:H8 |
Многократное взятие дамкой (чёрной, или белой) |
В случае начального положения вместо последнего сделанного хода пишется нуль.
Примеры текущих положений:
0s0s0s0s s0s0s0s0 0s0s0s0s 00000000 00000000 S0S0S0S0 0S0S0S0S S0S0S0S0 0 |
0s0s0s0s s0s0s0s0 0s0s0s0s 00000000 0S000000 00S0S0S0 0S0S0S0S S0S0S0S0 A3-B4 |
0s0s0s0s s0s0s0s0 0s0s0s00 000000s0 0S000000 00S0S0S0 0S0S0S0S S0S0S0S0 H6-G5 |
Входные данные читаются из файла INPUT.txt, а выходные данные записываются в файл OUTPUT.txt текущего каталога.
Внимательно читайте условия задач, к каждой из них приложены примерные тесты. Выбирайте задачи по своим силам.
Уважаемые участники! Предлагаемые задачи нельзя назвать лёгкими. Если Вы не можете решить какую-либо задачу полностью, к чему надо стремиться, то решите её для посильных частных случаев. Тогда за прохождение соответствующих тестов Вы получите некоторое количество баллов.
Все программы должны укладываться в 3 секунды.
Желаем творческих успехов!