(клітка має стіну на сході), 8 (клітина має стіну на півдні). Наприклад, якщо в клітці стоїть число 11 (11 = 8 + 2 + 1), то клітина має стіну з південного боку, з північної і з західної.
Вихідні дані подаються в текстовому файлі з наступною структурою. Перший рядок: m, p - розмірність сітки. Другий рядок, третя і наступні рядки містять опис матриці цифрової карти по рядках. Розрахункові дані вивести на екран у наступному порядку: перший рядок - площа кожної кімнати музею, другий рядок - кількість кімнат у музеї.
Приклад файлу вихідних даних:
4 7
11 червня 11 червня 10 березня 6
9 липня 13 червня 5 5 липня
10 січня 12 липня 13 13 травня
13 листопада 10 серпня 14 жовтня 13
Приклад вихідних даних:
9 8 Березня 2 червня
5
Ідея рішення:
Дану задачу можна вирішити використовуючи метод перебору з поверненням. Використовуючи масив координат переміщення, дивимося, де відсутні стіни, для кожної клітини, і послідовно рухаємося в ту клітку, в яку можливо, попередньо позначаючи клітку, в якій вже були. Якщо ми зайшли в глухий кут, то повертаємося в клітку, з якої вийшли. Одночасно вважаємо кількість клітин в кожній кімнаті. Коли відбувається повернення в початкову точку руху, робимо всю кімнату переглянутої (за допомогою масиву логічного типу). Потім шукаємо клітку, в якій ще не були і робимо її початковою точкою руху.
(Текст програми див. Додаток 1)
Пірат в підземелля. У пошуках дорогоцінних каменів пірат провалюється в підземелля. План підземелля - матриця N * M кімнат з дорогоцінними каменями. Камені з однієї кімнати мають однакову вартість. Пірату в кожній кімнаті дозволяється взяти всього лише один камінь з собою і слідувати в будь-яку іншу сусідню з нею кімнату. Кожну з кімнат пірат може відвідувати всього лише один разів. Потрібно скласти алгоритм-програму визначення маршруту відвідування піратом До кімнат лабіринту таким чином, щоб він набрав каменів на максимально можливу суму. Вхідні і вихідні дані: У першому рядку вхідного файлу містяться числа N, M, K. У наступних N рядках розташовується матриця N * M лабіринту. Кожен елемент матриці представляється вартістю каменю відповідної кімнати. Маршрут починається з лівій верхній кутовий кімнати лабіринту. Вихідні дані: містять єдине число, рівне загальної вартості взятих з собою каменів.
Приклад файлу вихідних даних:
4 Березня 7
1 1 1 1
1 січня 1 лютому
1 січня 2 Березня
Вихідні дані для даного прикладу:
12
Ідея рішення: Дану задачу можна вирішити використовуючи метод перебору з поверненням. Рухаючись послідовно по кімнатам вважаємо загальну вартість каменів і вибираючи найбільшу перебираємо всі можливі варіанти пересування пірата по кімнатах.
( Текст програми см. Додаток 2 )
Диспетчер і...