Сценарий
Я еду по дороге с моей машиной, и начинается дождь. Капли дождя падают на мое окно случайным образом, и теперь я спрашиваю себя, где находится самая большая связанная влажная зона?
Задание
Чтобы было проще, окно разбито на матрицу из 10 * 10 квадратов. Ваша работа состоит в том, чтобы найти самую большую соединенную область капли воды на окне.
вход
Есть два возможных входа, вы можете использовать 2-мерный массив или 1-мерный. Вы можете выбирать между любыми входными данными, такими как стандартный ввод и т. Д.
Пример:
// 2-dimensional:
[[0,1,0,0,0,0,1,0,0,0],
[0,1,1,0,0,0,0,1,1,0],
[0,1,1,0,0,0,0,1,0,0],
[0,1,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,0,0,0,0,0]]
// 1-dimensional
[0,1,0,0,0,0,1,0,0,0,
0,1,1,0,0,0,0,1,1,0,
0,1,1,0,0,0,0,1,0,0,
0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,0,0,0,0,0]
Выход
Ваш код должен указывать размер самой большой соединенной области и координаты x и y капель воды, которые принадлежат этой области, в формате
«Размер: Z Координаты: (X1, Y1) (X2, Y2) .. . "
Пример для предыдущего ввода:
Size: 6 Coordinates: (1,0) (1,1) (2,1) (1,2) (2,2) (1,3)
Порядок координат не имеет значения.
правила
- Капли воды связаны, если они касаются друг друга ортогонально
- Диагональные соединения не учитываются
- Там может быть много областей, и ваш код должен найти самую большую
- Пустое поле представлено как «0», а мокрое поле как «1»
- Опубликуйте свое решение с кратким объяснением и выводом предыдущего ввода
- Самый короткий код в течение следующих 7 дней выиграет
- Если есть две области с одинаковым размером, вы можете выбрать одну
