"Буквенный" лабиринт (TopCoders 250) - C#

Узнай цену своей работы

Формулировка задачи:

Хотелось бы узнать ваш алгоритм решения это задачи . Дан массив string[] letterMaze , состоящий из строк, содержащх буква английского алфавита [A-Z] или точки на тех местах, где нет букв. В массиве каждая буква встречается только один раз. Массив содержит до 50 строк, каждая из которых не более 50 символов длинной. Нужно определить, можно ли проложить "алфавитный путь" от буквы 'A' до 'Z'. "Aлфавитный путь" это последовательность 26 букв английского алфавита , таких , что : - Первая буква - А. - Вторая буква ( B ) находится горизонтально слева (или справа) или вектикально сверху(или синзу) от буквы А. - Третья буква ( С ) находится горизонтально слева (или справа) или вектикально сверху(или синзу) от буквы В. - ............. -Последняя буква - Z. Например :
string[] letterMaze = new string [] {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}
Возвращает "Да"
string[] letterMaze = new string [] {"ACBDEFGHIJKLMNOPQRSTUVWXYZ"}
Возвращает "Нет"
string[] letterMaze = new string [] {"..............",
 "..............",
 "..............",
 "...DEFGHIJK...",
 "...C......L...",
 "...B......M...",
 "...A......N...",
 "..........O...",
 "..ZY..TSRQP...",
 "...XWVU.......",
 ".............."}
Возвращает "Да"

Решение задачи: «"Буквенный" лабиринт (TopCoders 250)»

textual
Листинг программы
(n => flatMatrix.Count(x => x == n) >= 2)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы