Сколькими способами можно выбрать пару чисел L и R (L меньше = R) так, чтобы подстрока строки abbaaaabab с символа номер L по символ номер R была палиндромом?
Сколькими способами можно выбрать пару чисел L и R (L <= R) так, чтобы подстрока строки abbaaaabab с символа номер L по символ номер R была палиндромом?
Ответ(ы) на вопрос:
Гость
21 способ
[l,r,строка,номер]
[0, 0, "a", 1]
[1, 1, "b", 2]
[1, 2, "bb", 3]
[2, 2, "b", 4]
[0, 3, "abba", 5]
[3, 3, "a", 6]
[3, 4, "aa", 7]
[4, 4, "a", 8]
[3, 5, "aaa", 9]
[4, 5, "aa", 10]
[5, 5, "a", 11]
[3, 6, "aaaa", 12]
[4, 6, "aaa", 13]
[5, 6, "aa", 14]
[6, 6, "a", 15]
[2, 7, "baaaab", 16]
[7, 7, "b", 17]
[6, 8, "aba", 18]
[8, 8, "a", 19]
[7, 9, "bab", 20]
[9, 9, "b", 21]
#код программы Ruby 22
s = "abbaaaabab"
n = 0
for r in 0..s.size-1
for l in 0..r
t = s[l..r]
if t.reverse == t
n += 1
p [l,r,t,n]
end
end
end
Не нашли ответ?
Похожие вопросы