юлия20043
09.04.2021 07:13

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ека29
10.10.2020 02:57
Современный компьютер может обрабатывать числовую, текстовую, графическую, звуковую и видео информацию. Все эти виды информации в компьютере представлены в двоичном коде, т. е. используется алфавит мощностью два (всего два символа 0 и 1). Связано это с тем, что удобно представлять информацию в виде последовательности электрических импульсов: импульс отсутствует (0), импульс есть (1). Такое кодирование принято называть двоичным, а сами логические последовательности нулей и единиц - машинным языком. Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.
0,0(0 оценок)
Ответ:
MalenkayaStervochka
15.01.2020 00:04
// PascalABC.NET 3.0, сборка 1128

procedure MatInput(M:array[,] of integer);
begin
  var nr:=Length(M,0);
  var nc:=Length(M,1);
  WritelnFormat('Введите построчно массив размером {0}x{1}',nr,nc);
  for var i:=0 to nr-1 do
    for var j:=0 to nc-1 do
      Read(M[i,j]);
end;

function S(M:array[,] of integer):integer;
begin
  Result:=0;
  var Zero:integer;
  for var i:=0 to Length(M,0)-1 do begin
    Zero:=1; 
    for var j:=0 to Length(M,1)-1 do
      if M[i,j]=0 then begin Zero:=0; Break end;
    Result+=Zero;
    if Result=1 then begin Result:=0; Exit end
    end;
  Result:=1
end;

begin
  var A:=new integer[3,4]; MatInput(A);
  var B:=new integer[3,3]; MatInput(B);
  Writeln(S(A));
  Writeln(S(B));
end.

Тестовое решение:
Введите построчно массив размером 3x4
1 2 3 4
5 6 7 8
9 0 1 2
Введите построчно массив размером 3x3
1 2 0
2 0 1
0 1 0
0
1
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота