ALPHABET


  • Ломанная
    ALPHABET

Описание
В каждую клетку шахматной доски вписано по одной букве русского алфавита (как известно, в нем 33 буквы), причем в верхней левой клетке находится буква А, а в правой нижней - Я

Задача
Выясните, сколько существует ломаных с вертикальными и горизонтальными звеньями, концы которых находятся в верхней левой и правой нижней клетках (концы звеньев находятся в центре клеток), проходящих через 33 клетки, если каждая буква алфавита должна встречается на ломаной один раз (в произвольном порядке)

Составьте программу
ALPHABET, которая:

1. Считывает текстовый файл ALPHABET.DAT, в котором в восьми строках находится по восемь чисел от 1 до 33, разделенных пробелами, причем первое число в первой строке 1, а последнее в последней 33. Эти числа показывают порядковый номер буквы. Например:

ALPHABET.DAT (числа каждой строки начинаются со 2-й позиции)
1 2 3 4 5 6 7 8
1 1 1 1 1 1 1 9
10 11 12 13 14 15 16 17
18 10 1 1 1 22 23 24
19 20 21 22 23 24 25 26
1 1 1 1 1 1 28 27
1 1 1 1 1 30 29 28
1 1 1 1 1 31 32 33

2. Находит число искомых ломаных и выводит его в файл ALPHABET.SOL.
Если таких ломаных не существует, то выводится 0.

ALPHABET.SOL
4

3. На экран дисплея выводит таблицу с расположением букв на доске. Если для данного расположения букв существует хотя бы одна ломаная, то для любой из таких линий каким-либо образом (по усмотрению участника) выделяются те буквы, через которые эта ломаная проходит.
Примечание: вместо букв русского алфавита на экран можно вывести буквы украинского (или другого, но с теми же характеристиками) алфавита, которых тоже 33.