0 / 0 / 0
Регистрация: 03.07.2021
Сообщений: 2
1

Найти количество способов вычёркивания из данного слова некоторого набора символов, чтобы слово стало палиндромом

16.12.2022, 13:32. Показов 818. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна помощь, не знаю как сделать вывод самих палиндромов, а не просто счетчика, условие и код ниже.

Условие: Непустая строка, содержащая некоторое слово, называется палиндромом, если это слово одинаково читается как слева направо, так и справа налево.
Имеется слово s, состоящее из n прописных букв латинского алфавита. Вычёркиванием из этого слова некоторого набора символов можно получить палиндром. Найти количество способов вычёркивания из данного слова некоторого (возможно, пустого) набора символов таких, что полученная в результате строка являлась палиндромом. Способы, различающиеся порядком вычёркивания символов, считаются одинаковыми.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <string>
#include <vector>
#include <cstdio>
#include "Header.h";
using namespace std;
 
string str;
vector<vector<long long> > F;
int n,m;
void input()
{
    cin >> str;
    n = str.size();
    F = vector<vector<long long> >(n, vector<long long>(n, 0));
    m = str.length();
}
void solve()
{
    if (m < 30)
    {
    int j;
    for (int k = 0; k < n; k++)
    {
        for (int i = 0; i < n; i++)
        {
            j = i + k;
            if (j == n)
                break;
            if (i == j)
                F[i][j] = 1;
            else
            {
                if (str[i] != str[j])
                    F[i][j] = F[i + 1][j] + F[i][j - 1] - F[i + 1][j - 1];
                else
                    F[i][j] = F[i + 1][j] + F[i][j - 1] + 1;
            }
        }
    }
    
    cout << F[0].back() - n;
}
}
0
16.12.2022, 13:32
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2022, 13:32
Ответы с готовыми решениями:

Разделить слово на слова из заданного набора, подсчитать количество способов
Здравствуйте,программеры. Помогите решить программу на С++. Условие (краткое):Входной файл содержит несколько тестов.Дана строка,...

Определить количество палиндромов которые можно получить вычеркиванием из слова некоторого набора символов
Доброго времени суток. Нужна помощь с заданием на с++. Текст задания: Количество палиндромов (Время: 1 сек. Память: 16 Мб Сложность:...

Получить из слова а, путем вычеркивания некоторого количества букв, слово в
получить из слова а , путем вычеркивания некоторого количества букв , слово в . Отображать промежуточные этапы на экран. вот текст...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2022, 13:32
Помогаю со студенческими работами здесь

Количество способов преобразования строки путём вычёркивания символов
Есть две строки Х и У, в которых содержатся только буквы латинского алфавита и цифры (длинны не превышают 30 символов).Сначала вводится 1-я...

Из данного набора символов образовать все возможные слова
из данного набора символов образовать все возможные слова и вывести на экран все слова, которые не являются палиндромами и содержат хотя...

Найти порядковый номер буквы которую нужно удалить чтобы число стало палиндромом
Пожалуйста !!! Помогите .Нужно найти порядковый номер буквы которую нужно удалить чтобы число стало палиндромом .

Обработка строк. Переставить слова в предложении так, чтобы первое слово стало последним
Пожалуйста помогите!!!! Ввести предложение в виде символьной строки. Переставить слова в предложении так, чтобы первое слово стало...

Найти количество способов составления набора монет
Малыш Петя составляет башенки из 10-ти и 20-ти копеечных монет. Сколько разных башенок он может составить, если стоимость каждой башенки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Контейнер std::map в C++
bytestream 09.02.2025
Контейнер std::map в C++ - один из наиболее мощных инструментов стандартной библиотеки, предназначенный для хранения пар ключ-значение. Каждый элемент в map состоит из уникального ключа и связанного. . .
Как в Python сделать вывод с print без перевода строки и пробела
hw_wired 09.02.2025
Функция print в Python обеспечивает гибкие возможности для вывода информации в консоль. При стандартном использовании эта функция автоматически добавляет символ перевода строки в конце выводимого. . .
Как в Python проверить, что у объекта есть атрибут
hw_wired 09.02.2025
В Python существует несколько встроенных способов проверки наличия атрибутов у объектов. Наиболее распространенным является использование функции hasattr(), которая позволяет безопасно определить. . .
Как удалить экспортированну­ю переменную окружения в Linux
hw_wired 09.02.2025
В Linux работа с переменными окружения - важная часть системного администрирования и разработки. Экспортированные переменные окружения отличаются от обычных локальных переменных тем, что они доступны. . .
Ошибка Error: error:0308010C:­digital envelope routines::unsup­ported
hw_wired 09.02.2025
Ошибка "error:0308010C:digital envelope routines::unsupported" чаще всего появляется при работе с Node. js приложениями и связана с изменениями в системе безопасности криптографических алгоритмов. . . .
В чем отличие между .prop() и .attr()
hw_wired 09.02.2025
В jQuery методы . prop() и . attr() часто вызывают путаницу, поскольку на первый взгляд предназначены для похожих целей. Однако между ними существуют принципиальные различия в работе с DOM-элементами и. . .
В чем отличие SCSS и SASS
hw_wired 09.02.2025
SCSS и SASS появились как решение проблем, связанных с ограничениями обычного CSS при разработке крупных веб-проектов. Традиционный CSS, несмотря на свою простоту, не предоставлял разработчикам. . .
Как найти дубликаты в таблице базы данных
hw_wired 09.02.2025
Дублирование записей в таблицах баз данных может возникать по разным причинам: ошибки при вводе данных, некорректная работа систем импорта, слияние данных из разных источников или неправильная. . .
Как удалить дубликаты из массива в JavaScript
hw_wired 09.02.2025
Самый простой и современный способ удаления дубликатов в JavaScript - использование структуры данных Set в сочетании с Array. from. Set автоматически хранит только уникальные значения, а Array. from. . .
Go Protobuf: новый Opaque API
hw_wired 09.02.2025
Protocol Buffers (protobuf) давно зарекомендовал себя как эффективный формат сериализации данных, широко используемый в микросервисных архитектурах и распределенных системах. Однако существующая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru