В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
jungkokBTSlove
jungkokBTSlove
13.05.2020 00:14 •  Информатика

Вс++. . как вы помните, месклениты отправились в экспедицию. однажды руководителю экспедиции потребовалось отправить на разведку специальный отряд, состоящих из лучших мескленитов. для этого он выстроил всю команду в шеренгу. цвет панциря каждого мескленита обозначается заглавной латинской буквой (от "a" до "z" ). в целях времени руководитель собирается выбрать из шеренги несколько подряд стоящих. кроме того, он считает, что разведка будет более удачной, если выбранный отряд будет симметричен по цветам панцирей. например, отряд "rgbgr" будет симметричным, а отряд "rgrb" – нет. требуется выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям. входные данные дана строка, длина которой не превосходит 255 символов – цвета мескленитов в шеренге. выходные данные выходные данные представляют собой строку – выбраный отряд мескленитов. если возможных вариантов ответа несколько, то требуется вывести находящийся ближе к началу шеренги.

Показать ответ
Ответ:
Dashasha555
Dashasha555
25.08.2020 17:27
{Отряд — формирование, состоящее из нескольких человек, достаточно большой численности, сформированное с той или иной целью}
//Но будь по Вашему, мне не сложно
//Dev-C++ 4.9.9.2

#include <iostream>
#include <string>
using namespace std;

int main(){
    string s,smax,sp;
    int z=0;
    int max=0;
    bool b=true;
    bool bsub=false;
    cin>>s;
    for(int i=0;i<s.length();i++)
     for(int j=i+1;j<s.length();j++){
      if(s[i]==s[j]){
      sp=s.substr(i,j-i+1);
      b=true;
      z=0;
       while((z<=(sp.length()-1)/2)&&b){
         b=(sp[z]==sp[sp.length()-z-1]);
         z++;}
       if((b==true)&&(max<sp.length())){
                                   max=sp.length();
                                   smax="";
                                   smax=sp;
                                   bsub=true;
                                   }
       b=true;
       z=0;}}
      if(bsub==true)cout<<smax;
      else
      cout<<s[0];
      cin.get();
      cin.get();
     return 0;
}

Пример ввода 1:
CKACCANCKACBCAN
Пример вывода 1:
ACBCA
Пример ввода 2:
С
Пример вывода 2:
C
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота