Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания на ЗО ОЦТТУ 2013-14.DOC
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
195.07 Кб
Скачать

Задача 1.1. «Архивация» (100 баллов)

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

Сделать такую программу, которая переводит стандартную запись расположения в указанную выше.

Входные данные: расположение фигур на доске.

Выходные данные: четыре строки. В первой перечисляются поля с белыми шашками, во второй – с белыми дамками, в третьей – с чёрными шашками, в четвёртой – с чёрными дамками. В случае отсутствия фигур какого-либо вида выводится «*». В строках поля выводятся в алфавитном порядке. Если в одной вертикали несколько фигур, то поля выводятся в порядке возрастания номеров строк.

Примерные тесты:

Номер теста

1

3

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

0s0s0s0s

s0s0s0s0

0s0s0s0s

00000000

00000000

S0S0S0S0

0S0S0S0S

S0S0S0S0

00000000

00s00000

00000000

00s00000

00000000

00s00000

0S000000

0000d000

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

A1A3B2C1C3D2E1E3F2G1G3H2

*

A7B6B8C7D6D8E7F6F8G7H6H8

*

B2

*

C3C5C7

E1

Задача 1.2. «Разархивация» (100 баллов)

Сделать программу для решения задачи, обратной предыдущей.

Входные данные: четыре строки.

Выходные данные: расположение фигур на доске.

Примерные тесты:

Номер теста

1

3

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

A1A3B2C1C3D2E1E3F2G1G3H2

*

A7B6B8C7D6D8E7F6F8G7H6H8

*

B2

*

C3C5C7

E1

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

0s0s0s0s

s0s0s0s0

0s0s0s0s

00000000

00000000

S0S0S0S0

0S0S0S0S

S0S0S0S0

00000000

00s00000

00000000

00s00000

00000000

00s00000

0S000000

0000d000

Задача 2. Определение сделанных ходов (200 баллов)

Задаются два расположения фигур на доске. Сделать программу, определяющую, можно ли получить второе из первого с помощью 2-х полуходов, и, в случае возможности, выдающую эти ходы.

Также задаётся последний ход, в результате которого получилось первое положение. В случае, если ходов ещё не было (начальное положение) задаётся 0.

В случае, если это можно сделать разными способами, то выдать все варианты в порядке возрастания колонок и строк.

В случае невозможности перейти от первого ко второму расположению одним ходом, вывести 0.

Входные данные: первое расположение фигур на доске, последний ход, второе расположение фигур на доске.

Выходные данные: в первой строке – количество вариантов. Далее, столько строк, каково предыдущее число. В каждой строке два полухода, разделённых знаком «*». В случае невозможности, в первой строке 0.

Примерные тесты:

Номер теста

1

2

3

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

0s0s0s0s

s0s0s0s0

0s0s0s0s

00000000

00000000

S0S0S0S0

0S0S0S0S

S0S0S0S0

0

0s0s0s0s

s0s0s0s0

0s0s0s00

000000s0

0S000000

00S0S0S0

0S0S0S0S

S0S0S0S0

0s0s0s0s

s0s0s0s0

0s0s0s0s

00000000

00000000

S0S0S0S0

0S0S0S0S

S0S0S0S0

0

0s0s0s0s

s0s0s0s0

0s0s0s0s

00000000

00000000

00S0S0S0

0S0S0S0S

S0S0S0S0

0000000s

00s00000

00000000

00s00000

00000000

00s00000

0S000000

0000d000

A5:C3

000D0000

000000s0

00000000

00000000

00000000

00000000

00000000

0000d000

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

1

A3-B4*H6-G5

0

1

B2:D4:B6:D8*H8-G7