Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.03.2024
Сообщений: 11

Задача про количество вхождений строк

05.04.2024, 22:29. Показов 1457. Ответов 21

Студворк — интернет-сервис помощи студентам
Ограничение времени - 1 секунда
Ограничение памяти - 256Mb

Дано натуральное число https://www.cyberforum.ru/cgi-bin/latex.cgi?n. Рассмотрим множество https://www.cyberforum.ru/cgi-bin/latex.cgi?S, которое содержит все строки длины https://www.cyberforum.ru/cgi-bin/latex.cgi?n, состоящие из строчных букв латинского алфавита. https://www.cyberforum.ru/cgi-bin/latex.cgi?f(s) -- количество вхождений строки «qwertyu» в https://www.cyberforum.ru/cgi-bin/latex.cgi?s.

От вас требуется вычислить https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{s \in S}f(s) -- сумму https://www.cyberforum.ru/cgi-bin/latex.cgi?f(s) по всем строкам https://www.cyberforum.ru/cgi-bin/latex.cgi?s \in S

Формат ввода

На вход подается единственное число https://www.cyberforum.ru/cgi-bin/latex.cgi?n (https://www.cyberforum.ru/cgi-bin/latex.cgi?1 \le n \le 19).

Формат вывода

В единственную строку выведите ответ на задачу.

Примеры:

  1. Ввод
    Code
    1
    
    7
    Вывод
    Code
    1
    
    1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2024, 22:29
Ответы с готовыми решениями:

Задача: Дана символьная строка. Подсчитать в ней количество вхождений букв r, k,t
Дана символьная строка. Подсчитать в ней количество вхождений букв r, k,t. Помогите решить)

Определить количество вхождений группы символов "про"
Условие задачи - Ввести предложение. Определить количество вхождений группы символов "про"(сколько раз этот символ встречается...

Дописать в конце каждой из его строк количество вхождений в строку заданого символа
Дан текстовый файл. Дописать в конце каждой из его строк количество вхождений в строку заданого символа!

21
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
06.04.2024, 15:02
Python
1
2
3
4
5
6
7
8
n=int(input())
if n<7:
    print(0)
else:
    s=0
    for k in range(n-6):
        s=s+26**k+26**(n-7-k)
    print(s)
2
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
07.04.2024, 07:25
Catstail, что-то совсем не в ту степь. Начиная с 7.
Самое интересное начинается, конечно, с n=14.

Добавлено через 3 минуты
Хотя нет, интересно не получается, условие максимально лояльно к решающим.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
07.04.2024, 07:37
Red white socks, комбинаторика... Не настаиваю.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
07.04.2024, 13:16
Цитата Сообщение от Red white socks Посмотреть сообщение
не получается
у меня именно так...
n - натуральное число, длина строки
S - множество строк с длиной n, количество строк не указано...
s - есть подозрение, что это каждая строка длины n
f(s) - количество вхождений строки "qwertyu" в отельной строке s, каждая из которых принадлежит множеству S
строки состоят из строчных латинских букв (26 штук), из каких именно символов состоит каждая строка - не указано.

Требуется вычислить сумму всех f(s), сколько их, тоже не указано...

Допустим:
n = 7 и все строки s одинаковые (не знаю сколько их, не указано в условии), s = "abcdefg"

Внимание вопрос:
А сколько тут вхождений строки "qwertyu"?

Сопутствующие вопросы, зависящие от округленности моих глаз:
Почему в примере, ответ - 1?
Скорее всего, я туплю и чего-то недопонял в условии... но чего именно?


Цитата Сообщение от Catstail Посмотреть сообщение
комбинаторика...
Хмм... как и почему?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
07.04.2024, 14:00
Цитата Сообщение от YuS_2 Посмотреть сообщение
Хмм... как и почему?
Я рассуждал так:

1) если n < 7, то ответ = 0 (т.к. длина строки больше длины любой строки из Sn при n < 7
2) если n=7, то из всего множества S7 вхождение только одно
3) если n>7, то все вхождения заданной строки можно представить как:

___qwertyu---

где длины строк "___" и "---" в сумме составляют n-7
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
07.04.2024, 15:47
Catstail, да
1) Тут без вопросов, всё логично
2) А вот тут... S7 - это что? Множество длиной 7 или один элемент из множества, длиной 7? По идее, 7 - длина строки должна быть n, т.е. один из элементов множества, который имеет длину 7. Допустим что так, но почему вхождение появилось? Ведь символы (7 штук) абсолютно неизвестны... вхождения может и не быть... а длина множества S какова, сколько в ней строк, что суммировать-то?
3) Допустимо. Но нам необходимы для ответа именно вхождения, их количество, вся длина строки не имеет значения в задаче... не понимаю - как они определяются, есть или нет?

Стою на асфальте я в лыжи обутый - то ли лыжи не едут, то ли я ... ну, дальше все знают. Вот сижу и не втыкаю от слова совсем.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
07.04.2024, 20:48
Цитата Сообщение от YuS_2 Посмотреть сообщение
S7 - это что?
- у меня это множество всех строк длины 7, состоящее из всех букв лат. алфавита.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
07.04.2024, 22:13
Цитата Сообщение от Catstail Посмотреть сообщение
это множество всех строк длины 7, состоящее из всех букв лат. алфавита.
Да. Складывается впечатление, что это задача-конструктор, в которой каждый составляет условия самостоятельно, по своему усмотрению...
Правда неясно одно в этом случае, зачем в ней пример?
По логике:
1. если цель задачи посчитать сумму вхождений, то символы алфавита могут повторяться в строках.
2. как формируются строки? Какова вероятность, что в строках вообще есть вхождение строки-шаблона "qwertyu"? Вопросы никуда не делись...
3. если нет ограничения в количестве строк, то допустимо бесконечное их число и как следствие, никаких цифр мы получить не сможем, только алгоритм с несколькими неизвестными...
4. По п.3. выбивается из логики то, что есть пример в задаче, в котором указано единственное число в качестве входных данных и получаемый результат, тоже в виде единственного числа.
тупик.


В Вашем решении, при вводе 7, получается результат 2, что не соответствует примеру...

В общем,
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
07.04.2024, 23:14
YuS_2, Да, моё решение неверное (есть ошибка + неполнота, т.к. 19 > 14)
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
08.04.2024, 01:16
YuS_2, не мутите воду. Задача задана четко и однозначно.
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
08.04.2024, 01:24
Ну, ответ будет 0 при q > n,
а в остальных случаях
res = (n-q+1)*a^(n-q),
где a - длина алфавита,
q - длина заданной строки,
т.е. для нашего случая:
res = (n-7+1)*26^(n-7) = (n-6)*26^(n-7)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
08.04.2024, 07:32
idealist, Согласен. Но когда n >= 14 можно разместить уже две строки...
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
08.04.2024, 08:37
Цитата Сообщение от Catstail Посмотреть сообщение
Но когда n >= 14 можно разместить уже две строки...
А, да, этот момент я не учел)))
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
08.04.2024, 09:47
Цитата Сообщение от Red white socks Посмотреть сообщение
не мутите воду. Задача задана четко и однозначно.
Вы предполагаете, что я тут троллингом, что ли занимаюсь? Так я отвечу: нет.
Вопросы, ответы на которые я не увидел пока, выше заданы в сообщениях 5,7,9. Если есть желание пояснить - ответьте, пожалуйста.
Четко и ясно - это только в том случае, в котором с первого раза (только глянул на задачу и сразу понятны все нюансы), условия становятся понятны даже неподготовленному человеку. Здесь, в данной задаче, ничего четкого и ясного не наблюдается от слова совсем. Я, конечно, не великий программист и математик, но немного разбираюсь в теме, а все заданные вопросы выше, не для красного словца прозвучали.
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
08.04.2024, 10:14
Цитата Сообщение от YuS_2 Посмотреть сообщение
Вы предполагаете, что я тут троллингом, что ли занимаюсь?
Именно так.

Цитата Сообщение от YuS_2 Посмотреть сообщение
Здесь, в данной задаче, ничего четкого и ясного не наблюдается от слова совсем
На мой взгляд, тут обратная ситуация. Ваши сообщение вызывают ... недоумение.

Цитата Сообщение от YuS_2 Посмотреть сообщение
S - множество строк с длиной n, количество строк не указано...
Посчитайте сами. Все в задаче для этого есть
Цитата Сообщение от YuS_2 Посмотреть сообщение
s - есть подозрение, что это каждая строка длины n
нет. Это элемент множества S.
Цитата Сообщение от YuS_2 Посмотреть сообщение
f(s) - количество вхождений строки "qwertyu" в отельной строке s, каждая из которых принадлежит множеству S
строки состоят из строчных латинских букв (26 штук), из каких именно символов состоит каждая строка - не указано.
В первой части отвечаете на вторую часть вопроса.
Цитата Сообщение от YuS_2 Посмотреть сообщение
Допустим:
n = 7 и все строки s одинаковые (не знаю сколько их, не указано в условии), s = "abcdefg"
Внимание вопрос:
А сколько тут вхождений строки "qwertyu"?
А вы перестали пить коньяк по утрам?

Добавлено через 3 минуты
Цитата Сообщение от YuS_2 Посмотреть сообщение
условия становятся понятны даже неподготовленному человеку
Ерунда.
Условия должны быть понятны человеку, на которого рассчитана задача.

Добавлено через 5 минут
Задано множество S - множество всех слов заданной длины. На этом множестве задана числовая функция. Требуется найти сумму значений функции по всем элементам множества.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
08.04.2024, 20:35
Цитата Сообщение от Red white socks Посмотреть сообщение
Именно так.
Вы вправе думать что угодно, но я уже сказал, что это не так.

Цитата Сообщение от Red white socks Посмотреть сообщение
На мой взгляд, тут обратная ситуация. Ваши сообщение вызывают ... недоумение.
В каком месте? Процитируйте.

Цитата Сообщение от Red white socks Посмотреть сообщение
Посчитайте сами. Все в задаче для этого есть
Что мне непонятно, я обозначил в своих вопросах.

Цитата Сообщение от Red white socks Посмотреть сообщение
нет. Это элемент множества S.
В таком случае, чего нет-то? Что является элементами множества S? Разве не строки? Вы о чем вообще?
А раз единичный элемент множества S - это s, то значит подозрение:
Цитата Сообщение от YuS_2 Посмотреть сообщение
s - есть подозрение, что это каждая строка длины n
- соответствует действительности.

Цитата Сообщение от Red white socks Посмотреть сообщение
В первой части отвечаете на вторую часть вопроса.
Какого именно вопроса? Там где возникли у меня вопросы, там стоят вопросительные знаки.

Цитата Сообщение от Red white socks Посмотреть сообщение
А вы перестали пить коньяк по утрам?
Я тоже могу вести разговор в подобном стиле... но обычно такие диалоги ничем хорошим не заканчиваются. Только, я не понял, что вызвало вашу агрессию?

Цитата Сообщение от Red white socks Посмотреть сообщение
Ерунда.
Вы вместо четких ответов на поставленные вопросы решили заняться троллингом с многозначительными намеками? На что именно пытаетесь намекнуть? Да и зачем, в принципе? Я вам чем-то насолил или обидел?
Нет желания отвечать - не отвечайте. Есть желание ответить - ответьте. Только щеки надувать не надо, это неконструктивно абсолютно.

Цитата Сообщение от Red white socks Посмотреть сообщение
Условия должны быть понятны человеку, на которого рассчитана задача.
Конечно. Только вот условия должны быть составлены понятным образом, а не подразумевать, что отвечающий знает на какую тему задана задача и подразумевать какие-то данные не оговоренные в условиях. Это глупость, если это так... глупость составителя задачи, а не отвечающего.

Цитата Сообщение от Red white socks Посмотреть сообщение
Задано множество S - множество всех слов заданной длины.
Ну хоть какой-то конструктив.
В качестве уточнения могу привести цитаты:
Цитата Сообщение от Victoria_Memo Посмотреть сообщение
множество , которое содержит все строки длины , состоящие из строчных букв латинского алфавита.
Картинки в цитате отсутствуют, но надеюсь понятно:
- здесь нет ничего о словах, речь идет о строках длины n, из которых состоит множество S. Не множество длины n, а строки длины n. Или чего, правила русского языка позволяют Вам прочитать условия как-то по-другому?

Цитата Сообщение от Red white socks Посмотреть сообщение
На этом множестве задана числовая функция. Требуется найти сумму значений функции по всем элементам множества.
В этой части вообще никаких вопросов не возникало. Все вопросы написаны выше.
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
09.04.2024, 09:34
Цитата Сообщение от YuS_2 Посмотреть сообщение
здесь нет ничего о словах, речь идет о строках длины n, из которых состоит множество S.
В комбинаторике словом называют произвольную последовательность из заданного алфавита.
Еще раз.
Требуется подсчитать сумму значений функций по всем элементам множества.
У вас вызывает проблема с определением множества?
Не заходите тогда в комбинаторику. Проходите мимо.

Добавлено через 1 минуту
Цитата Сообщение от Victoria_Memo Посмотреть сообщение
Рассмотрим множество , которое содержит все строки длины , состоящие из строчных букв латинского алфавита.
Здесь указано все достаточно ясно.
Все (все, понимаете, ВСЕ) строки длины n из заданного алфавита.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
09.04.2024, 10:29
Цитата Сообщение от Red white socks Посмотреть сообщение
В комбинаторике словом называют произвольную последовательность из заданного алфавита.
Мы в разделе комбинаторики разве?

Цитата Сообщение от Red white socks Посмотреть сообщение
У вас вызывает проблема с определением множества?
Именно. В данной задаче в условиях нет ничего о границах множества.

Цитата Сообщение от Red white socks Посмотреть сообщение
Не заходите тогда в комбинаторику. Проходите мимо.
На это могу только сказать: протрите глаза, поднимите их вверх и прочитайте название раздела, в котором мы находимся... А куда мне заходить, я решу сам, без ваших указаний.

Цитата Сообщение от Red white socks Посмотреть сообщение
Все (все, понимаете, ВСЕ) строки длины n из заданного алфавита.
Не раздувайте щеки, я уже говорил... просто ткните пальцем в условие, которое указывало бы на количество строк длиной n (количество элементов множества, если так понятнее будет), принадлежащих множеству. Или укажите в чем я ошибаюсь или чего не понял... А скандирование слова "все" - это не объяснение и тем более никакой не аргумент.
Заодно, можно также ткнуть пальцем в то, на основании чего определяется вхождение указанного в условии шаблона строки "qwertyu" в каждый из элементов множества (s). Это тоже непонятно (для меня)

PS Я же просил... если нет желания объяснять - не пишите ничего (это не жизненная необходимость для меня и я ничего ни от кого не требую, и никто никому ничем не обязан ), если оно таки есть, объясните на пальцах, я не троллингом тут занялся, повторяю в очередной раз. А раздувание щек и утверждения без расшифровки - это не объяснение, кроме удивления это ничего не вызывает...
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
09.04.2024, 10:49
YuS_2, вы просто засрали тему. Вот и всё.

Добавлено через 5 минут
Если вы не можете посчитать количество всех строк заданной длины, то это исключительно Ваши проблемы, не надо раскатывать простыни.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2024, 10:49
Помогаю со студенческими работами здесь

Обработка символьных строк. Задача про футболистов
С клавиатуры вводится число N, обозначающее количество футболисто команды &quot;Заря&quot;, а затем - N строк, в каждой из которых - информация...

В массиве найти количество вхождений числа X, индексы первого и последнего вхождений
A-массив целых чисел, состоящий из элементов,выбранных случайным образом из диапазона X- целое число из диапазона . вводится...

Количество вхождений заданного атома в терм (с учетом вхождений в подтермы)
Написать предикат occurrence_count(Term, Atom, Count) таким образом, чтобы он позволял находить количество вхождений заданного атома в...

Про количество таблиц и строк в БД
Я делаю что то типа каталога архивной информации с хранением информации в бд mysql Вот подскажите как лучше, на каждый вид данных...

Задача на матрицу, про вывод её строк в немного нестандартном виде
Решить поставленную задачу, используя средства управления вводом/выводом. Дан массив С(7), каждый элемент которого - строка длинной 10....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru