0 / 0 / 0
Регистрация: 01.06.2019
Сообщений: 7

Много слов из одного

02.12.2020, 20:10. Показов 1270. Ответов 3

Студворк — интернет-сервис помощи студентам
Алиса и Боб играют в игру "Много слов из одного", где из букв исходного слова нужно составлять другие. Каждую букву можно использовать максимум столько раз, сколько она встречалась в исходном слове. За каждое составленное по правилам слово начисляется столько очков, сколько букв в нём содержится. Алиса очень хочет выиграть и поэтому не замечает, что некоторые из её слов могут быть составлены не по правилам. Помогите Бобу определить, сколько очков набрала Алиса, составив свои слова.

Формат ввода
Программа получает на вход строку - исходное слово. Во второй строке записано натуральное число N ­≤ 10000 - количество слов, составленных Алисой. В каждой из следующих N строк записано составленное (возможно, некорректно) слово. Длина каждого слова не превышает 30 букв, все буквы записаны в нижнем регистре.

Формат вывода
Программа должна вывести одно неотрицательное число - количество набранных Алисой очков.

Пример 1

Ввод
abracadabra
3
cat
radar
crab

Вывод
9

Пример 2

Ввод
tracktor
4
tulip
flower
rose
cactus

Вывод
0

Добавлено через 16 минут
Python
1
2
3
4
5
6
7
sr = input().split()
mass_word = [input() for _ in range(int(input()))]
 
for h in range(len(mass_word)):
    for i in range(len(sr[0])):
        for j in range(len(mass_word[h])):
            if sr[0][i] == mass_word[h][j]:
Уже имеются наброски кода, sr = input().split() сделал из строки массив, чтобы было удобно удалить элементы и списка, так как из строки нельзя. И написал три цикла там стараюсь сравнивать "искать" букву в слове, in я так понимаю использовать нельзя, так как если там две одинаковые буквы то мы сможем "увидеть" только одну из них, а значит не сможем удалить из массива "реестра" букв.

Python
1
2
3
for j in range(len(mass_word[h])):
     if sr[0][i] == mass_word[h][j]:
         del sr[0][i]
Возникли сложности с удалением элемента, не понимаю что не так

Добавлено через 54 минуты
Python
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
sr = input()
chet = 0
bbol = True
mass_sr = [sr[g] for g in range(len(sr))]
mass_sr_save = mass_sr
mass_word = [input() for _ in range(int(input()))]
mass_word_new = []
 
for h in range(len(mass_word)):
    chet = 0
    bbol = True
 
    for i in range(len(mass_sr)):
        bbol = True
        for j in range(len(mass_word[h])):
            if mass_sr[i] == mass_word[h][j]:
                del mass_sr[i]
                chet += 1
                bbol = False
                break
        if not bbol:
            continue
 
        
    if chet == len(mass_word[h]):
        mass_word_new.append(mass_word[h])
 
print(mass_word)
print(mass_word_new)
вот написал не большой код, проблема в строке if mass_sr[i] == mass_word[h][j]: в какой-то момент I выходит за границы массива. Я пытался пофиксить с помощью if not bbol: continue, в надежде что i обновиться, но этого не происходит. Зачем я это делаю, при удалении элемента del mass_sr[i] у нас "едет" i и значение i выходит за границы массива.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2020, 20:10
Ответы с готовыми решениями:

Много слов из одного
Алиса и Боб играют в игру "Много слов из одного", где из букв исходного слова нужно составлять другие. Каждую букву можно использовать...

Программа для поиска слов Из одного много
Программа формирует и извлекает на экран все слова (осмысленно!), Которые может быть образован из букв слова «АПТЕКА» (пакет ,капа,кета ...

Выборка слов, начинающихся с определенной буквы, и рандомный выбор одного из этих слов
Всем доброго времени суток! Необходимо создать запрос чтобы автоматически находить все слова из таблицы Access которые начинаются на...

3
13 / 8 / 5
Регистрация: 01.02.2020
Сообщений: 24
02.12.2020, 20:17
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
word = input()
n = int(input())
words = [input() for i in range(n)]
count = 0
for w in words:
    condition = False
    for c in w:
        if c in word and w.count(c) <= word.count(c):
            condition = True
        else:
            condition = False
            break
    if condition:
        count += len(w)
print(count)
1
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,300
02.12.2020, 20:25
ну началось. лецеисты завалят одинаковыми темами. предыдущая еще в топе
Много слов из одного
2
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
02.12.2020, 20:29
Semen-Semenich, даа, щас будет приход большой с лицея

Добавлено через 54 секунды
Not_proggramist, бро, почитай регламент, за одинаковые решения снизят баллы) поэтому лучше не списывай

Добавлено через 12 секунд
А точнее исключат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2020, 20:29
Помогаю со студенческими работами здесь

STL: Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза
Помогите написать программу!! Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза. ...

Много ссылок из одного блога
Можно ли попасть в бан ,если у меня ссылка на мой сайт стоит в оформлении моего блога.Т.е получается с каждой записью в моем блоге...

Много ссылок с одного сайта
У меня есть возможность размещать новости на достаточно крупном сайте со ссылками на мои сайты, что я и делаю. Не сочтут ли ПС спамом...

много ссылок с одного сайта
Здравствуйте. Открываю свою инет магазин и сейчас получил возможность поставить свой баннер и ссылку на каждой странице другого интернет...

В последовательности из 10 пятибуквенных слов найти и поменять местами пару слов, у которых первые три буквы одного сов
В последовательности из 10 пятибуквенных слов найти и поменять местами пару слов, у которых первые три буквы одного совпадают с...


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

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

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru