Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Одна куча

(Время: 1 сек. Память: 32 Мб Сложность: 40%)

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

В начальный момент в куче было S камней, 1 ≤ S < N.

Необходимо ответить на следующие вопросы:

  1. Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
  2. Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
    • Петя не может выиграть за один ход;
    • Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
  3. Найдите значение S, при котором одновременно выполняются два условия:
    • у Вани есть выигрышная стратегия, позволяющая ему выиграть 1-м или 2-м ходом при любой игре Пети;
    • у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Входные данные

Первая строка входного файла INPUT.TXT содержит целое число N – количество камней, которые необходимо набрать для завершения игры (1 < N < 100).

Гарантируется, что при заданном N существует только одно решение для первого и третьего вопросов, также существует ровно 2 значения S для второго вопроса.

Выходные данные

В первой строке выходного файла OUTPUT.TXT выведите целое число – ответ на первый вопрос.

Во второй строке выведите два различных целых числа в порядке возрастания – ответ на второй вопрос.

В третьей строке выведите целое число – ответ на третий вопрос.

Пример

INPUT.TXTOUTPUT.TXT
12914
7 13
12

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Задание 1
 Задание 5
 Задание 8
 Задание 12
 Задание 13
 Задание 14
 Задание 16
 Задание 17
 Задание 18
 Задания 19-21
 Задание 23
 Задание 24
 Задание 25
 Задание 26
 Задание 27
 Одна куча
 Две кучи
 Сложные задачи
 A. Одна куча

Красноярский краевой Дворец пионеров, (c)2006 - 2025, ИНН 246305493507, E-mail: admin@acmp.ru