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

Контрольная по ударениям

01.05.2024, 14:22. Показов 1770. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вам дан словарь ударений. В нем выписаны некоторые слова, возможно не по одному разу, причем в слове ровно одна буква заглавная, а остальные строчные — на заглавную букву падает ударение. Бывают ситуации, когда в одном и том же слове можно ставить ударение по-разному, такие слова выписаны несколько раз с разным ударением.

Вам нужно проверить по этому словарю, правильно ли ваш друг расставил ударения. Вам дан список слов, в которых друг расставил ударения. Если слово не встречается в словаре, то считайте, что друг поставил ударение правильно, ровно как и если слово встречается в словаре с таким же ударением. А вот если слово встречается в словаре, но все ударения там отличаются от ударения друга, засчитывайте ему ошибку.

Посчитайте, в скольких словах допустил ошибку ваш друг.

Формат входных данных
В первой строке дано целое число N — количество слов в словаре (0≤N≤20000).

Далее идет N строк со словами из словаря. Каждое слово состоит не более чем из 30 символов. Все слова состоят из маленьких и заглавных латинских букв. В каждом слове заглавная ровно одна буква — та, на которую попадает ударение. Слова в словаре расположены в алфавитном порядке. Если есть несколько возможностей расстановки ударения в одном и том же слове, то эти варианты в словаре идут в произвольном порядке.

Далее идет список слов друга, который представляет собой строку текста, суммарным объемом не более 300000 символов. Строка состоит из слов, которые разделяются между собой ровно одним пробелом. Длина каждого слова не превышает 30 символов. Все слова состоят из маленьких и заглавных латинских букв (заглавными обозначены те буквы, над которыми Петя поставил ударение). Петя мог по ошибке в каком-то слове поставить более одного ударения или не поставить ударения вовсе.

Формат результата
Выведите одно число — ответ на задачу.

Примеры
Входные данные
4
cAnnot
cannOt
fOund
pAge
thE pAge cAnnot be found
Результат работы
2

Тема Коллекции

Вот мой код, который работает лишь с некоторыми входными данными, а не со всеми
Python
1
2
3
4
5
6
dct = {input() for _ in range(int(input()))}
text = input().split()
 
r = sum(word not in dct and sum(map(str.isupper, word)) != 1 for word in text)
 
print(r)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2024, 14:22
Ответы с готовыми решениями:

Контрольная по ударениям
помогите пожалуйста решить задачу сириус Учительница задала Пете домашнее задание — в заданном тексте расставить ударения в словах, после...

Контрольная по ударениям
...789... Встроенные структуры данных Контрольная по ударениям Учительница задала Пете домашнее задание — в заданном тексте...

Контрольная по ударениям
ПОМОГИТЕ ПОЖАЛУЙСТА, не знаю с чего начать Условие Учительница задала Пете домашнее задание — в заданном тексте расставить ударения в...

4
32 / 24 / 11
Регистрация: 03.06.2023
Сообщений: 56
01.05.2024, 17:47
Каким образом в примере получается 2? Из условия я понял, что, при совпадении хотя бы с одним вариантом, остальные за ошибки мы не считаем. Получается, cannOt мы все-таки хотим учитывать как ошибку или я что-то не понимаю?

Добавлено через 10 минут
Если так, то:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def get_upper_index(string: str) -> int:
    idx = -1
    for i, char in enumerate(string):
        if char.isupper():
            if idx != -1:
                return -1
            idx = i
    return idx
 
 
dct = {}
for _ in range(int(input())):
    wd = input()
    if wd.lower() not in dct:
        dct[wd.lower()] = set()
    dct[wd.lower()].add(get_upper_index(wd))
 
print(sum(
    len(dct[w.lower()]) - get_upper_index(w) not in dct[w.lower()] if w.lower() in dct else 0
    for w in input().split()
))
0
207 / 5 / 2
Регистрация: 27.04.2024
Сообщений: 72
01.05.2024, 17:52  [ТС]
Doule_, если я сам правильно понял, Для каждого слова:
- Если слово не встречается в словаре или встречается с правильным ударением, ничего не делать.
- Если слово встречается в словаре с другими вариантами ударения, увеличить счетчик ошибок.
Я только что проверил ваш код он выводит неверный ответ во 2 тесте
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
01.05.2024, 18:14
Цитата Сообщение от Doule_ Посмотреть сообщение
Каким образом в примере получается 2?
be found написаны без ударения
Цитата Сообщение от utsushi Посмотреть сообщение
Петя мог по ошибке в каком-то слове поставить более одного ударения или не поставить ударения вовсе.
0
207 / 5 / 2
Регистрация: 27.04.2024
Сообщений: 72
01.05.2024, 18:51  [ТС]
Я сам решил вобщем
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
dct = {}
for _ in range(int(input())):
    value = input()
    key = value.lower()
    if key in dct:
        dct[key].add(value)
    else:
        dct[key] = {value}
r = 0
for word in input().split():
    key = word.lower()
    if key in dct and word not in dct[key] or sum(map(str.isupper, word)) != 1:
        r += 1
print(r)
может кому пригодится
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2024, 18:51
Помогаю со студенческими работами здесь

Задача Контрольная по ударениям
Контрольная по ударениям Учительница задала Пете домашнее задание — в заданном тексте расставить ударения в словах, после чего поручила...

Контрольная
Люди, помогите решить хоть несколько заданий по контрольной, пожалуйста!!!! Из-за того что я ее не могу сдать, меня могут из универа...

Контрольная
помогите пожалуйста, кто что может, завтра зачёт по мат.ан, вобще не разбираюсь в нём

Контрольная
1,2,4 сделал,а остальное не могу

контрольная 1-15
помогите решить что-нибудь!! Вариант 1 Обработать событие KeyPress при нажатии Enter в клетке StringGrid следующим образом: если не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru