Войти
Регистрация
Спроси ai-bota
В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Показать больше
Показать меньше
priutkorel
24.11.2021 21:25 •
Информатика
Найти все симметричные натуральные числа (палиндромы) из промежутка от а до в (а и в вводятся с клавиатуры) решать через массив.
Ответ:
AlbertWasHere
09.07.2020 15:52
// #includes {{{
#include <stdio.h>#include <iostream>#include <cmath>#include <algorithm>#include <fstream>#include <vector>#include <complex>#include <queue>#include <set>#include <map>#include <cstdlib>#include <cstdio>#include <cstring>#include <cassert>#include <ctime>#include <cmath>#include <string>#include <deque>#include <list>#include <math.h>#include <fstream>#include <stack>#include <iomanip>#include <bitset>#include <memory.h>#include <bitset>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <ctime>#include <assert.h>#include <stdarg.h>#include <time.h>#include <limits.h>#include <ctype.h>#include <complex>#include <bits/stdc++.h>// }}} // #defines {{{#define exp 1e-10#define sc scanf#define pr printf#define mk make_pair#define pb push_back#define pf push_front#define ll long long#define fi first#define se second#define eps 0.000000001#define INF 1000000007#define file "management"#define eps 0.000000001#define cmd 1000000009#define PI 3.14159265#define MOD 1000000007#define sz(x) ((int)(x).size())#define in(s) freopen(s, "r", stdin);#define pi 3.1415926535897#define rep(i, n) for(__typeof(n) i = 0; i < (n); i++)#define out(s) freopen(s, "w", stdout);#define sync ios_base::sync_with_stdio( 0 )// }}} using namespace std; typedef long long lglg;const int inf = 1<<30, maxN = 1000;int ax[] = {0, 1, -1, 0, 0};int ay[] = {0, 0, 0, -1, 1}; int main(){ string a; int n, dp[102][102], i, j, px[102][102], py[102][102]; cin >> a; memset(dp, 0, sizeof(dp)); memset(px, -1, sizeof(px)); a = "." + a; n = a.size() - 1; for (i = 1; i <= n; i++) dp[i][i] = 1; for (i = n; i >= 1; i--) for (j = i + 1; j <= n; j++) { if (a[i] == a[j] && dp[i][j] < 2 + dp[i + 1][j - 1]) { dp[i][j] = 2 + dp[i + 1][j - 1]; px[i][j] = i + 1; py[i][j] = j - 1; } if (dp[i][j] < dp[i + 1][j]) { dp[i][j] = dp[i + 1][j]; px[i][j] = i + 1; py[i][j] = j; } if (dp[i][j] < dp[i][j - 1]) { dp[i][j] = dp[i][j - 1]; px[i][j] = i; py[i][j] = j - 1; } } cout << dp[1][n] <<'\n'; int x = 1, y = n, q, w; vector<char> ans; char z = 0; while (px[x][y] != -1) { if (px[x][y] == x + 1 && py[x][y] == y - 1) ans.push_back(a[x]); q = px[x][y]; w = py[x][y]; x = q; y = w; } if (x == y) z = a[x]; for (i = 0; i< ans.size(); i++) cout << ans[i]; if (z != 0) cout<< z; for (i = ans.size() - 1; i >= 0; i--) cout<< ans[i]; return 0; }
0,0
(0 оценок)
Популярные вопросы: Информатика
amozgaleva96
06.07.2022 15:42
Уисполнителя умножатель две команды, которым присвоены номера: 1. умножь на 2 2. прибавить 1 первая из них умножает число на 2, вторая — прибавляет к числу 1. исполнитель...
sasagolyakov
06.07.2022 15:42
Как это делается? сделайте решение , сколько кодов можно составить из 5 бит?...
СуПерБро123
22.03.2022 12:21
Уисполнителя альфа две команды которым присвоены номера 1. прибавь 1 2. умножь на b (b-неизвестное натуральное число; b больше или равно 2) выполняя первую из них,...
Alina970azhieva
29.03.2022 09:29
2032 перевидите в двоичную систему счисления...
Каримончик
20.09.2021 14:29
1напишите программу , с которой можно ввести числовые данные в одномерный массив и перемножить каждый второй элемент массива на два .2 вычислить сумму элементов матрицы...
Ааааа111235
15.12.2022 05:02
Написать , которая будет находить сумму минимального и максимального массива...
dianadiii
02.09.2020 06:08
Сколько едениц содержит двоичная запись числа 156 и в низу после 6 идет 8 аосьмая степень вроде...
tatiana85gandzii
29.01.2023 02:28
Написать код программы в IDLE Python: Сформировать 2-мерный массив, состоящий их 3 строк по 3 символа в строке (3х3), заполнить массив названиями фруктов, вывести...
waterrrfall
10.08.2021 21:17
Напишите НАИМЕНЬШЕЕ число х, для которого ИСТИННО высказывание: (x 30) И (x кратно 10)...
leonn1
13.08.2022 21:57
Максимальная скорость передачи данных по протоколу v.34 составляет 24000 бит/c.какое максимальное количество байт можно передать за 5 сек. по этому протоколу ?...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#include <stdio.h>#include <iostream>#include <cmath>#include <algorithm>#include <fstream>#include <vector>#include <complex>#include <queue>#include <set>#include <map>#include <cstdlib>#include <cstdio>#include <cstring>#include <cassert>#include <ctime>#include <cmath>#include <string>#include <deque>#include <list>#include <math.h>#include <fstream>#include <stack>#include <iomanip>#include <bitset>#include <memory.h>#include <bitset>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <ctime>#include <assert.h>#include <stdarg.h>#include <time.h>#include <limits.h>#include <ctype.h>#include <complex>#include <bits/stdc++.h>// }}} // #defines {{{#define exp 1e-10#define sc scanf#define pr printf#define mk make_pair#define pb push_back#define pf push_front#define ll long long#define fi first#define se second#define eps 0.000000001#define INF 1000000007#define file "management"#define eps 0.000000001#define cmd 1000000009#define PI 3.14159265#define MOD 1000000007#define sz(x) ((int)(x).size())#define in(s) freopen(s, "r", stdin);#define pi 3.1415926535897#define rep(i, n) for(__typeof(n) i = 0; i < (n); i++)#define out(s) freopen(s, "w", stdout);#define sync ios_base::sync_with_stdio( 0 )// }}} using namespace std; typedef long long lglg;const int inf = 1<<30, maxN = 1000;int ax[] = {0, 1, -1, 0, 0};int ay[] = {0, 0, 0, -1, 1}; int main(){ string a; int n, dp[102][102], i, j, px[102][102], py[102][102]; cin >> a; memset(dp, 0, sizeof(dp)); memset(px, -1, sizeof(px)); a = "." + a; n = a.size() - 1; for (i = 1; i <= n; i++) dp[i][i] = 1; for (i = n; i >= 1; i--) for (j = i + 1; j <= n; j++) { if (a[i] == a[j] && dp[i][j] < 2 + dp[i + 1][j - 1]) { dp[i][j] = 2 + dp[i + 1][j - 1]; px[i][j] = i + 1; py[i][j] = j - 1; } if (dp[i][j] < dp[i + 1][j]) { dp[i][j] = dp[i + 1][j]; px[i][j] = i + 1; py[i][j] = j; } if (dp[i][j] < dp[i][j - 1]) { dp[i][j] = dp[i][j - 1]; px[i][j] = i; py[i][j] = j - 1; } } cout << dp[1][n] <<'\n'; int x = 1, y = n, q, w; vector<char> ans; char z = 0; while (px[x][y] != -1) { if (px[x][y] == x + 1 && py[x][y] == y - 1) ans.push_back(a[x]); q = px[x][y]; w = py[x][y]; x = q; y = w; } if (x == y) z = a[x]; for (i = 0; i< ans.size(); i++) cout << ans[i]; if (z != 0) cout<< z; for (i = ans.size() - 1; i >= 0; i--) cout<< ans[i]; return 0; }