Метод подсчета количества переходов через реки в двумерном массиве ⇐ Javascript
Метод подсчета количества переходов через реки в двумерном массиве
У меня есть двухмерный массив «плиток», каждый из которых может соединяться с плитками вокруг него (сверху, снизу, справа, слева). Некоторые из этих плиток являются «водными» и образуют реки (плитки рек все еще могут быть соединены с другими плитками), а плитки земли образуют кластеры. Например:
// 1=суша, 0=река пусть массив = [[1, 1, 0, 1], [1, 1, 0, 1], [1, 0, 0, 1], [1, 0, 1, 1]] каждая плитка, представленная в виде числа выше, хранит свою информацию в форме:
{connections: ["top", "bottom", "left" ...], введите: "земля/вода, ... еще немного нерелевантной информации
Моя задача состоит в том, чтобы подсчитать, сколько связей существует между земельными кластерами, или, если вы думаете о связях как о дорогах, сколько существует пересечений рек.
Я думал реализовать это решение следующим образом:
[*]найти все кластеры земель и сохранить их местоположение (вот так?) [*]пройдите по всем плиткам, пока не дойдете до плитки воды, соединенной с плиткой суши. [*]просматривать все соединения с водой на этих плитках, отслеживая, где мы были. [*]как только мы достигнем другого тайла воды, соединенного с тайлом суши из другого массива суши (может быть стартовым тайлом), обновите счетчик пересечений рек и продолжайте. [*]как только связанных плиток больше не останется, найдите еще одну плитку воды, соединенную с плиткой земли, и повторите.
Но я начинающий программист, поэтому не знаю, как это писать.
Тогда мой вопрос: будет ли это работать правильно для любой комбинации земельных массивов, рек и соединений плиток, существует ли более эффективный/правильный способ решения этой проблемы и как будет выглядеть реализация ?
У меня есть двухмерный массив «плиток», каждый из которых может соединяться с плитками вокруг него (сверху, снизу, справа, слева). Некоторые из этих плиток являются «водными» и образуют реки (плитки рек все еще могут быть соединены с другими плитками), а плитки земли образуют кластеры. Например:
// 1=суша, 0=река пусть массив = [[1, 1, 0, 1], [1, 1, 0, 1], [1, 0, 0, 1], [1, 0, 1, 1]] каждая плитка, представленная в виде числа выше, хранит свою информацию в форме:
{connections: ["top", "bottom", "left" ...], введите: "земля/вода, ... еще немного нерелевантной информации
Моя задача состоит в том, чтобы подсчитать, сколько связей существует между земельными кластерами, или, если вы думаете о связях как о дорогах, сколько существует пересечений рек.
Я думал реализовать это решение следующим образом:
[*]найти все кластеры земель и сохранить их местоположение (вот так?) [*]пройдите по всем плиткам, пока не дойдете до плитки воды, соединенной с плиткой суши. [*]просматривать все соединения с водой на этих плитках, отслеживая, где мы были. [*]как только мы достигнем другого тайла воды, соединенного с тайлом суши из другого массива суши (может быть стартовым тайлом), обновите счетчик пересечений рек и продолжайте. [*]как только связанных плиток больше не останется, найдите еще одну плитку воды, соединенную с плиткой земли, и повторите.
Но я начинающий программист, поэтому не знаю, как это писать.
Тогда мой вопрос: будет ли это работать правильно для любой комбинации земельных массивов, рек и соединений плиток, существует ли более эффективный/правильный способ решения этой проблемы и как будет выглядеть реализация ?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создать словарь объединенных переходов DFA на основе переходов DFA1 и DFA2
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Подсчитайте случаи, когда значение столбца в двумерном массиве начинается с указанной буквы.
Anonymous » » в форуме Php - 0 Ответы
- 55 Просмотры
-
Последнее сообщение Anonymous
-