Бесплатное занятие с репетитором 1 на 1! Оценим уровень знаний, разберём тему,
сформируем план подготовки к ЕГЭ. Запишись через тг-бот

осталось мест 52
Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №20
  • Задание №20
  • Задание №59817 ЕГЭ Информатике

    Условие задания #59817

    №20 по КИМ

    В игре, описанной в задании 19, в начальный момент в первой куче было 5 камней, а во второй  — S камней, 1 ≤ S ≤ 35.

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

    В ответе запишите сначала минимальное значение, затем максимальное (без разделителей).

    Ответ

    Ответ:

    2029

    Решение

     
    def f(x, y, h):
        if h == 3 and x + y >= 41:
            return 1
        if h == 3 and x + y < 41:
            return 0
        if h < 3 and x + y >= 41:
            return 0
        else:
            if h % 2 == 0:
                if x > y:
                    return f(x + 1, y, h + 1) or f(x + 2, y, h + 1) or f(x + 3, y, h + 1) or f(x, y * 2, h + 1)
                elif x < y:
                    return f(x, y + 1, h + 1) or f(x, y + 2, h + 1) or f(x, y + 3, h + 1) or f(x * 2, y, h + 1)
                elif x == y:
                    return f(x + 1, y, h + 1) or f(x + 2, y, h + 1) or f(x + 3, y, h + 1) or f(x, y + 1, h + 1) or f(x, y + 2, h + 1) or f(x, y + 3, h + 1)
            else:
                if x > y:
                    return f(x + 1, y, h + 1) and f(x + 2, y, h + 1) and f(x + 3, y, h + 1) and f(x, y * 2, h + 1)
                elif x < y:
                    return f(x, y + 1, h + 1) and f(x, y + 2, h + 1) and f(x, y + 3, h + 1) and f(x * 2, y, h + 1)
                elif x == y:
                    return f(x + 1, y, h + 1) and f(x + 2, y, h + 1) and f(x + 3, y, h + 1) and f(x, y + 1, h + 1) and f(x, y + 2, h + 1) and f(x, y + 3, h + 1)
     
    a = set()
    for x  in range(1, 35):
        if f(5, x, 0) == 1:
            a.add(x)
    print(min(a), max(a))

    Видеоразбор:

    Понятно ли решение?

    Решения от учеников
    0

    Похожие задания

    15
    Задание №86Задание №942Задание №943Задание №1129Задание №1130Задание №1131Задание №2153Задание №53257Задание №10994Задание №10995Задание №10996Задание №52108Задание №58233Задание №59817Задание №89435
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме