Мне к завтрашнему дню необходимо решить задачу по информатике. Попробуйте составить универсальный алгоритм решения:
Лабиринт представляет собой квадрат состоящий из N*N сегментов, обнесенный сверху, снизу, слева и справа стенами высотой 3м, оставляющими свободными левый верхний и правый нижний углы. Каждый из сегментов, имеющий размеры 3*3 метра, может быть либо пустым, либо заполненным гранитной породой. Гарантируется, что левый верхний и нижний правый сегменты пусты.
Задача: Владелец аттракциона решил покрасить стены лабиринта, видимые изнутри, новой краской. Составьте программу, которая поможет владельцу определить количество краски, необходимое для покраски стен лабиринта.
Формат входных данных: 1 строка - число N (3<=N<=33). В последующих N строках по N символов в каждой, содержатся символы "0" - обозначает пустой сегмент и "1" - сегмент, содержащий стену, записанные в строке без пробелов.
Формат выходных данных: Одно целое число - площадь видимой части лабиринта в кв. метрах.
Пример:
IN: 5 00000 00011 00100 00111 00000
OUT: 198
Для общего случая алгоритм есть, но как быть при таких входных данных: 5 00000 01110 01010 01110 00000
или
5 01000 10000 00000 00001 00010
Дополнен 17 лет назад
Мдя... Спасибо за дельные советы, конечно, но задачу решить все-таки надо!.. Давайте, напрягитесь немного!
тут не то что без 100 грамм, тут и с бутылкой не разберешься!!! я даже до конца не дочитала-на 2-ой строчке поняла, что это выше моего понимания! чувак, забей! одна двойка ничего не изменит! ;)))
Для общего случая алгоритм не так уж и сложен. А частные случаи надо вынести в исключения - например делать проверку на замкнутые контуры. Хотя в последнем варианте можно вообще ничего не красить - клиенты просто не смогут туда попасть :)
Попробуйте составить универсальный алгоритм решения:
Лабиринт представляет собой квадрат состоящий из N*N сегментов, обнесенный сверху, снизу, слева и справа стенами высотой 3м, оставляющими свободными левый верхний и правый нижний углы. Каждый из сегментов, имеющий размеры 3*3 метра, может быть либо пустым, либо заполненным гранитной породой. Гарантируется, что левый верхний и нижний правый сегменты пусты.
Задача: Владелец аттракциона решил покрасить стены лабиринта, видимые изнутри, новой краской. Составьте программу, которая поможет владельцу определить количество краски, необходимое для покраски стен лабиринта.
Формат входных данных: 1 строка - число N (3<=N<=33). В последующих N строках по N символов в каждой, содержатся символы "0" - обозначает пустой сегмент и "1" - сегмент, содержащий стену, записанные в строке без пробелов.
Формат выходных данных: Одно целое число - площадь видимой части лабиринта в кв. метрах.
Пример:
IN:
5
00000
00011
00100
00111
00000
OUT:
198
Для общего случая алгоритм есть, но как быть при таких входных данных:
5
00000
01110
01010
01110
00000
или
5
01000
10000
00000
00001
00010