В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
cfxdcvbnm
cfxdcvbnm
10.10.2021 20:52 •  Информатика

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) два камня или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 73. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую позицию, что в кучах всего будет 73 или больше камней.
В начальный момент в первой куче было 9 камней, во второй куче – S камней; 1 ≤ S ≤ 63.
1. Ваня выигрывает 1ым ходом после неудачного первого хода Пети. Назвать минимальное значение S.
2. Указать минимальное значение S при котором Петя побеждает 2ым ходом в независимости от хода Вани.
3. Найдите два значения S ,при котором у Вани есть выигрышная стратегия победы при любом ходе Пети 1ым или 2ым ходом , но у него нет стратегии , гарантирующей победы в 1ом ходе. ответ записать в порядке возрастания.

Показать ответ
Ответ:
RosalinaT14
RosalinaT14
23.06.2021 04:57

Если будете сдавать в тестирующей системе, то вместо string, лучше использовать массив char - работает быстрее.

var n,i,k,p,mx,mxj: integer;

   s: array[1..100000] of char;

begin

 readln(n);

 for i:=1 to n do read(s[i]);

 k:=0; p:=0;

 mx:=0; mxj:=0;

 for i:=1 to n do

 begin

   if s[i]='G' then k:=k+1

   else

   begin

     if p=1 then

     begin

       p:=0;

       if s[i-1]='G' then  

       if (k>mxj) then mxj:=k;

       k:=0;

     end

     else

     begin

       if k>0 then p:=1;

       if k>mx then mx:=k;

     end;

   end;  

 end;

 if mx>mxj then k:=mx+1

 else k:=mxj+1;

 if k=1 then k:=0;

 writeln(k);

end.

0,0(0 оценок)
Ответ:
Bublick08
Bublick08
27.01.2020 07:17

Объяснение:

рлллолшчллы пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук тра3 я не знаю почему у тебя так же когда ты один ты постоянно пишешь звонишь хотя бы тоже поела и все больше ничего я не знаю почему у тебя р от меня надо было с 33333месяцев Тогда и 44беседовать

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