`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Задача MSL. Есть прямоугольная таблица размером N строк на М столбиков. В каждой клеточке записано целое число. По ней нужно пройти сверху вниз, начиная с любой клетки верхней строки, дальше каждый раз, переходя в одну из "нижних соседних" клеток   (иными словами, из клетки с номером (i, j) можно перейти или на (i + 1, j - 1), или на (i + 1, j), или на (i + 1, j + 1) В случае j = М последний из трех описанных вариантов становится невозможным, а в случае j  = 1 - первый) и закончить маршрут в какой-либо клетке нижней строки.

Напишите программу, которая будет находить максимально возможную счастливую сумму значений пройденных клеток среди всех допустимых путей. Всем известно, что счастливыми являются натуральные числа, в десятичной записи которых содержатся только счастливые цифры 4 и 7. Например, числа 47, 744, 4 является счастливыми, а 0, 5, 17, 467  такими не является. Обратите внимание, что счастливой должна быть именно сумма, а не отдельные слагаемые.

Технические условия. Программа MSL читает с устройства стандартного ввода через пробел числа N и M (1<=N,M<=12),  далее  з каждой из последующих  N строк по M разделенных пробелом целых неотрицательных чисел (каждое содержит в десятичной записи не больше 12 цифр) – значения клеток таблицы. Программа выводит на устройство стандартного вывода единственное натуральное число – максимальную счастливую сумму либо -1, если среди маршрутов нет ни одного со счастливой суммой.

Пример

Ввод

3 4

3 0 10 10

5 0 7 4

4 10 5 4

Вывод

7

© LIKT 1998-2024