Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
 Аватар для Landsberg17
2 / 3 / 0
Регистрация: 22.01.2020
Сообщений: 46

Угадай число

20.03.2020, 12:06. Показов 2927. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она называет некоторые множества натуральных чисел. Август отвечает Беатрисе YES, если среди названных ей чисел есть задуманное или NO в противном случае. После нескольких заданных вопросов Беатриса запуталась в том, какие вопросы она задавала и какие ответы получила и просит вас помочь ей определить, какие числа мог задумать Август.

Входные данные
Первая строка входных данных содержит число n — наибольшее число, которое мог загадать Август. Далее идут строки, содержащие вопросы Беатрисы. Каждая строка представляет собой набор чисел, разделенных пробелами. После каждой строки с вопросом идет ответ Августа: YES или NO.

Наконец, последняя строка входных данных содержит одно слово HELP.

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

Примеры
входные данные
10
1 2 3 4 5
YES
2 4 6 8 10
NO
HELP
выходные данные
1 3 5
--------------------
Есть код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = int(input())
allNum = set(range(1, n + 1))
while True:
    quest = input()
    if quest == 'HELP':
        break
    quest = {int(x) for x in quest.split()}
    answer = input()
    if answer == 'YES':
        allNum &= quest
    if answer == 'NO':
        allNum -= quest
print(' '.join([str(x) for x in sorted(allNum)]))
проблема в том, что просто напросто в одном тесте время выполнения аж 2 секунды! Помогите сделать/доделать/переделать/оптимизировать
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2020, 12:06
Ответы с готовыми решениями:

Игра «Угадай число». Программа задает псевдослучайное число из заданного диапазона
Игра «Угадай число». Программа задает псевдослучайное число из заданного диапазона. Диапазон и количество попыток пользователь вводит с ...

Реализовать игру «Угадай число», где в качестве игрока, угадывающего число, выступает компьютер
Игра «Угадай число» Реализовать игру «Угадай число», где в качестве игрока, угадывающего число, выступает компьютер. Дополнительная...

Угадай число
Составьте программу «Угадай число», но обратный вариант: пусть число загадал человек, а компьютер должен его отгадать за минимальное число...

1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
20.03.2020, 13:51
Лучший ответ Сообщение было отмечено Landsberg17 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
# -*- mode: python 3.8.1 ; encoding: utf8 -*-
 
 
all_numbers = set(range(0, int(input()) + 1))
while (data := input()) != "HELP":
    if data == "YES":
        all_numbers &= in_numbers
    elif data == "NO":
        all_numbers -= in_numbers
    else:
        in_numbers = set(map(int, data.split()))
print(*sorted(all_numbers))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2020, 13:51
Помогаю со студенческими работами здесь

Угадай число
Здравствуйте. Подскажите, пожалуйста, как можно оптимизировать мою программу по скорости ее выполнения: n=int(input()) ...

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

Угадай число
Задача: Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она...

Угадай число
Здравствуйте, не могу определиться с ошибкой. Условие Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n....

Угадай число
Всем хорошего настроения! я ломлюсь в ряды программёров уже 4-й день :wall: фантазия бурная, а вот принять язык машин мой мозг ещё пока не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru