Задача A. Эндшпиль: Ладья и король против короля -- мат и пат

Автор:А. Кленин
Входной файл: input.txt   Ограничение времени:2 сек
Выходной файл: output.txt   Ограничение памяти:2 Мб

Условие

На шахматной доске расположены белый король, белая ладья и чёрный король. Требуется проверить, объявлен ли чёрному королю мат или пат.

Формат входного файла

Три описания позиции, разделённые пробелом: позиция белого короля, белой ладьи и чёрного короля. Позиция состоит из двух символов — вертикаль от a до h и горизонталь от 1 до 8 (например, d5). Все позиции различны.

Формат выходного файла

Выходной файл должен содержать единственное число — 1, если объявлен мат, 2 — если пат, или 0, если мата и пата нет или позиция недопустима.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
b3 a7 a1
0
2
a7 a6 a8
0
3
b3 c1 a1
1
4
c3 b2 a1
2

Задача B. Эндшпиль: Ладья и король против короля

Автор:А. Кленин
Входной файл: input.txt   Ограничение времени:10 сек
Выходной файл: output.txt   Ограничение памяти:200 Мб

Условие

На шахматной доске расположены белый король, белая ладья и чёрный король. Известно также, какая сторона ходит первой. Требуется найти минимальное количество полуходов, которые требуются белым, чтобы поставить мат, или определить, что это невозможно.

Формат входного файла

Число 1, если первыми ходят белые, 2 — если чёрные. Далее идут три описания позиции, разделённые пробелом: позиция белого короля, белой ладьи и чёрного короля. Позиция состоит из двух символов — вертикаль от a до h и горизонталь от 1 до 8 (например, d5). Все позиции различны.

Формат выходного файла

Выходной файл должен содержать единственное число — количество полуходов, или -1, если мат из данной позиции невозможен.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1 b3 b6 a1
3
2
2 b4 c2 d1
-1

0.023s 0.004s 9