Найти - Пользователи
Полная версия: Не понимаю условия задачи
Начало » Центр помощи » Не понимаю условия задачи
1
badimalex
Здравствуйте друзья, прошу помощи, не могу понять условия задачи

Условие
Август и Беатриса продолжают играть в игру, но Август начал жульничать. На каждый из вопросов Беатрисы он выбирает такой вариант ответа YES или NO, чтобы множество возможных задуманных чисел оставалось как можно больше. Например, если Август задумал число от 1 до 5, а Беатриса спросила про числа 1 и 2, то Август ответит NO, а если Беатриса спросит про 1, 2, 3, то Август ответит YES.

Если же Бетриса в своем вопросе перечисляет ровно половину из задуманных чисел, то Август из вредности всегда отвечает NO. Наконец, Август при ответе учитывает все предыдущие вопросы Беатрисы и свои ответы на них, то есть множество возможных задуманных чисел уменьшается.

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

Для каждого вопроса Беатрисы выведите ответ Августа на этот вопрос. После этого выведите через пробел, в порядке возрастания, все числа, которые мог загадать Август после ответа на все вопросы Беатрисы.


входные данные
10
1 2 3 4 5
2 4 6 8 10
HELP

правильный ответ
NO
YES
6 8 10

входные данные
10
1
2
3
4
5
6
7
8
9
HELP

правильный ответ
NO
NO
NO
NO
NO
NO
NO
NO
NO
10

входные данные
16
1 2 3 4 5 6 7 8
9 10 11 12
13 14
16
HELP

правильный ответ
NO
NO
NO
NO
15


логически не могу понять, когда ставить yes а когда no. Благодарю за любую помощь
ZerG
За такие задачи надо вкручивать гвоздь в головку того кто их сочинял
wi34rd
Загуглил первые два слова задачи:
http://pastebin.com/Qyua1PYQ
FishHook
Редкостный экземпляр!
Август и Беатриса продолжают играть в игру, но Август начал жульничать.

продолжают играть в игру - в исходном сайте это ссылка! ССЫЛКА, КАРЛ!
badimalex
FishHook
продолжают играть в игру - в исходном сайте это ссылка! ССЫЛКА, КАРЛ!
первую задачу я решил, она никак не относится к пониманию этой задачи.
wi34rd
 #
numbers = set(range(1, int(input()) + 1))
while True:
    move = input()
    if move == 'HELP':
        print(*numbers)
        break
    else:
        move = set(map(int, move.split()))
        if len(move & numbers) > len(numbers) // 2:
            print('YES')
            numbers = {number for number in numbers if number in move}
        else:
            print('NO')
            numbers = {number for number in numbers if number not in move}
badimalex
wi34rd
спасибо большое
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB