Ограничения: время – 1s/2s, память – 16MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
"Сколько можно воду лить?! – отчитывал своих подчиненных министр охраны водных запасов. – Нам срочно необходимое новое и стабильное программное обеспечение!". После трехчасового разбора полетов, классического наказания невиновных и награждения непричастных, министр, наконец, пригласил главного математика министерства, для объяснения сути проблемы:
Есть плоское поле прямоугольной формы, состоящая из ячеек. Каждая ячейка может быть либо свободной, либо занятой некоторым препятствием. На некоторую свободную ячейку поля льется струя воды. Вода растекается из исходной ячейки и из каждой ячейки, куда она попадает в четырех направлениях: по вертикали вверх-вниз, по горизонтали вправо-влево. Вода может попадать за границы поля, при этом она исчезает и больше не может попасть на ячейки поля. Вода не может растекаться на занятые препятствиями ячейки. Считать количество поступающей воды на поле достаточным, чтобы вода покрыла все ячейки, которые может согласно условию. Найти количество ячеек поля, которые будут покрыты водой.
После освещения проблемы становится совершенно очевидно, что программа для подсчета объемов воды,
спасенных в результате утечки, должна быть написана как можно скорее. Иначе не избежать катастрофы!
Ввод
В первой строке файла – два числа `0\ <\ W\ ≤\ 100` и `0\ <\ H\ ≤\ 100`, задающих размеры поля.
Далее следуют `H` строк, состоящих из `W` символов "1" и "0". Символ "1" означает, что соответствующая ячейка поля занята, "0" – свободна. Далее следует пара координат `1\ ≤\ X\ ≤\ W`, `1\ ≤\ Y\ ≤\ H`, задающие координаты
ячейки, на которую льется вода. Верхний левый угол поля имеет координаты (1, 1).
Вывод
Вывести количество ячеек поля, которые будут покрыты водой.
Пример ввода
7 4
1100110
1100010
1111111
0111110
3 2
Источник: Турнир "Экспонента-2008"