A
4132 и 1432 например, так?
Size: a a a
A
A
A
A
ДM
A
A
A
ДM
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
bool isPalindrom(string g)
{
string h = g;
reverse(h.begin(), h.end());
if (h == g&&g.size()%2==0)
return true;
return false;
}
string cut(string a, int s, int e)
{
string h;
for (int i = s; i <= e; i++)
{
h += a[i];
}
return h;
}
bool res(string full)
{
//cvvc
//0123
full = cut(full,0, ((full.size() - 1) / 2));
//cout << full;
for (int i = full.size() - 1; i >= 0; i--)
{
if (isPalindrom(cut(full, 0, i)))
return true;
}
return false;
}
int main()
{
int m = 0;
cin >> m;
vector<string> a;
for (int i = 0; i < m; i++)
{
string b;
cin >> b;
a.push_back(b);
}
//cout << endl;
for (int i = 0; i < a.size(); i++)
{
if (res(a[i]))
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
ДM
Нещодавно Козаку Вусу спала на думку наступна задача.
Є t рядків, кожен з яких є паліндромом непарної довжини. Для кожного рядка окремо треба визначити, чи існує підрядок парної довжини, який є паліндромом.
Паліндром — це рядок, що однаково читається в обох напрямках (зліва направо та справа наліво). Наприклад, level та noon — паліндроми, а abc та noun — ні.
Рядок x є підрядком рядка y, якщо x може бути отриманим видаленням кількох (можливо, жодного або всіх) символів з початку і декількох (можливо, жодного або всіх) символів з кінця.
Козаку Вусу дуже сподобалось ця задача, а особливо рішення, яке він вигадав. А Ви зможете розв'язати цю задачу?
Входные данные
Перший рядок містить ціле число t (1≤t≤20) — кількість рядків.
Далі йдуть t рядків s
1
,s
2
,…,s
t
(1≤∣s
i
∣≤10
5
), які складаються з літер латинської абетки у нижньому регістрі.
Гарантується, що кожен s
i
— паліндром непарної довжини.
Выходные данные
Виведіть t рядків. У i-ому рядку виведіть «Yes», якщо існує підрядок рядка s
i
, який є паліндромом парної довжини, інакше виведіть «No».
Примечание
У другому рядку є підрядок «abba», який є паліндромом парної довжини.
У четвертому рядку є підрядок «zyyz».
Оценивание
Якщо рішення працює правильно при t=20 та ∣s
i
∣=11, то воно буде оцінюватися принаймні у 30 балів.
ДM
ДM
A
ДM
ДM
A