катя19052
10.07.2021 08:19

. на питоне Игра с нулями и единицами
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Что еще мы вам не рассказали про строки из нулей и единиц? :)
Оказывается, со строкой из нулей и единиц можно играть. Петя и Вася берут случайную строку
длины n и играют в игру по следующим правилам. Петя ходит первым и может зачеркнуть единицу
на крайнем левом или крайнем правом месте строки (если по краям строки стоят нули, то Петя сразу
проиграл). Вася ходит вторым, и в оставшейся строке он может зачеркнуть на первом или последнем
месте строки ноль, если он там есть, иначе он проиграл. Далее мальчики продолжают ходить по
очереди по этим правилам, пока кто-нибудь не проиграет, так как не сможет сделать очередной ход.
Другой игрок при этом наберет одно очко + столько очков, сколько составит длина оставшейся
строки. Если проигравшему игроку достаётся пустая строка, то игрок, сделавший последний ход,
выигрывает со счётом 1. Каждый из игроков хочет выиграть и набрать при этом как можно больше
очков.
Предположим, например, что они играют со следующей строкой: 10100011. В свой первый ход
Петя может удалить крайнюю левую или крайнюю правую единицу. Предположим, он выбирает
крайнюю левую. Тогда строка станет 0100011. Тогда Васе не останется ничего другого, как убрать
новый крайний левый ноль, так как крайний правый символ единица, и останется строка 100011.
Петя снова может выбирать, и на этот раз он выбирает крайнюю правую единицу, оставляя 10001
Васе. На данный момент у Васи нет подходящего хода, поэтому победил Петя. Поскольку длина
оставшейся строки 5, Петя побеждает со счётом 1 + 5 = 6 очков. Но если бы Петя первым ходом
вычеркнул последнюю единицу, то ходов у Васи больше не было, и Петя бы выиграл со счётом
1 + 7 = 8.
Требуется написать программу, которая по строке из нулей и единиц определит, кто выиграет
при оптимальной игре обоих, и сколько очков он при этом наберёт.
Формат входных данных
В единственной строке входных данных находится непустая строка из нулей и единиц, длина
которой не превосходит 10.
Формат выходных данных
Выведите сначала символ 1, если при оптимальной игре обоих игроков выиграет Петя, или
символ 0, если выиграет Вася. Затем через пробел выведите, сколько очков наберёт победивший
игрок.
Примеры
стандартный ввод стандартный вывод
01 0 1
100 0 2
10100011 1 8

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ЛизкаСосиска228
03.09.2021 17:36
Основные правила ввода текста:
> не нажимайте на клавишу ввода для перехода на новый ряд;
> не нажимайте на клавишу Пробел для создания абзацных отступов и центрирования текста;
> не нажимайте на клавишу Backspace, чтобы переместить курсор к позиции с ошибкой;
> чтобы получить большую букву, нажмите на клавишу Shift;
> следите, чтобы не была нажата клавиша Caps Lock, иначе все буквы будут большими;
> помните, что следующий абзац (после нажатия на клавишу ввода) унаследует вид (стиль) предыдущего.
С команд пункта Файл или кнопок стандартной панели инструментов, которые их дублируют, над текстовым документом можно выполнить такие важнейшие операции:
1. Создать новый документ(Создать…, Ctrl + N);
2. Открыть старый документ (Открыть…, Ctrl + O);
3. Сохранить на диске (Сохранить, Shift + F12);
4. Сохранить с новым именем (Сохранить как...);
5. Закрыть (Выход);
6. Печатать (Печать…, Ctrl + P);
7. Задать параметры страницы(Параметры страницы…) и другие.
0,0(0 оценок)
Ответ:
775svetik
20.09.2021 19:26

== проверяет одинаково ли значение операндов, если одинаковы – то условие является истинной (true);

!= проверяет одинаково ли значение операндов, если НЕ одинаковы – то условие является истинной (true);

<> проверяет одинаково ли значение операндов, если НЕ одинаковы – то условие является истинной (true);

> проверяет значение левого оператора, если он больше, чем правый – то условие является истинной;

< проверяет значение левого оператора, если он меньше, чем правый – то условие является истинной;

>= проверяет значение левого оператора, если он больше или равен правому – то условие является истинной;

<= проверяет значение левого оператора, если он меньше или равен правому – то условие является истинной;

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота