Выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям - C#
Формулировка задачи:
Как вы помните, месклениты отправились в экспедицию. Однажды руководителю экспедиции потребовалось отправить на разведку специальный отряд, состоящих из лучших мескленитов. Для этого он выстроил всю команду в шеренгу.
Цвет панциря каждого мескленита обозначается заглавной латинской буквой (от "A" до "Z" ). В целях экономии времени руководитель собирается выбрать из шеренги несколько подряд стоящих. Кроме того, он считает, что разведка будет более удачной, если выбранный отряд будет симметричен по цветам панцирей. Например, отряд "RGBGR" будет симметричным, а отряд "RGRB" – нет.
Требуется выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям.
Формат входного файла
Дана строка, длина которой не превосходит 255 символов – цвета мескленитов в шеренге.
Формат выходного файла
Выходные данные представляют собой строку – выбраный отряд мескленитов. Если возможных вариантов ответа несколько, то требуется вывести находящийся ближе к началу шеренги.
помогите с этой задачей((
Решение задачи: «Выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям»
textual
Листинг программы
static void Main(string[] args) { string a, test = @"GRRGRBBRGBRGRGRBGBGBRRB"; if (FindMaxPalindrom(test, out a)) Console.WriteLine("Максимальная шеренга состоит из {0} мескленитов.\r\n{1}", a.Length, a); Console.ReadLine(); } static bool FindMaxPalindrom(string str, out string match) { bool result = false; match = string.Empty; Regex r = new Regex(@"(?<N>.)+.?(?<-N>\k<N>)+(?(N)(?!))", RegexOptions.Singleline | RegexOptions.IgnoreCase); try { Match matchResult = r.Match(str); result = matchResult.Success; while (matchResult.Success) { if (match.Length < matchResult.Value.Length) match = matchResult.Value; matchResult = matchResult.NextMatch(); } } catch (ArgumentException) { // Ошибка в регулярном выражении throw; } return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д