Pascal. Задача #20

Условие задачи:
У Михаила много друзей в разных городах страны. Он решил навестить своих друзей. Из города в котором живет он может отправиться в одном из двух самых близких городов, а из этого – он также может отправиться в одном из двух самых близких городов и т.д. Михаил не отправится второй раз в город который уже посетил или в город который ранее мог посетить. Если в одном из тех двух близких городов у Михаила нет друзей, то он туда отправляться не будет, а если в обоих городах нет друзей, тогда он прервет путешествие.
Известно сколько друзей у Михаила в каждом городе. В городе в котором проживает Михаил у него как минимум один друг. Этот город имеет уровень 1, а следующие города, куда может отправится Михаил из этого города являются 2-го уровня, из этих он отправится в города 3-го уровня и т.д. Города каждого уровня имеют порядковый номер, начиная с 1.
Михаил отправляется в путешествие из города в котором проживает. Он не посетит всех друзей, а только из тех городов, куда он может отправится согласно вышеуказанным правилам.
Определите для Михаила маршрут таким образом, чтобы он навещал максимальное возможное число друзей.
Input: Текстовой файл PASCAL.IN содержит на каждой строке число друзей в городах каждого уровня, разделяемые одним пробелом.
Output: Текстовой файл PASCAL.OUT содержит на первой строке натуральное число, равное максимальному количеству навещаемых друзей, а после пустой строки – серия строк, каждая из которых содержит два числа, разделяемые одним пробелом, соответствующие рангу города и его порядковому номеру, в которых побывает Михаил.

Решение:

Результат:
PASCAL.IN

PASCAL.OUT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *