Есть ответ 👍

Чтобы получить зачет по сложному предмету двум студентам нужно в сумме ответить на 20 вопросов. выбор вопросов происходит так: на столе разложено 20 карточек. каждый из студентов по очереди делает свой выбор, причем за один раз можно взять от 1 до 4 карточек. существует примета, что тот, на ком вопросы закончатся, т.е. тот, кто не сможет взять следующую карточку, – тот зачет не сдаст. поэтому кроме того, чтобы выучить сам предмет, студенты разрабатывают выигрышную стратегию: такую последовательность действий, которая гарантированно, не зависимо от действий второго участника, позволит завладеть последним вопросом. возможно ли составить такую стратегию студенту, который выбирает вопросы вторым? напишите алгоритм, ответ

226
251
Посмотреть ответы 2

Ответы на вопрос:


Попытка поиска выигрышной стратегии может быть сделана при метода, получившего название "бэкрекинг" (backtracking - обратное прослеживание). рассматриваем финальную позицию для второго студента. у него должно оставаться от 1 до 4 карточек, чтобы он мог их все забрать и не оставить карточек первому студенту. следовательно, у первого студента должно быть ровно 5 карточек. забрав от 1 до 4 карточек, он оставит второму студенту как раз требуемое количество карточек. чтобы у первого студента осталось 5 карточек, второй студент должен иметь от 6 до 9 карточек, т.е. первый студент для этого должен делать выбор из 10 карточек. и так далее. выигрышная стратегия второго студента состоит в том, чтобы предоставлять первому студенту количество карточек, кратное 5. но исходное количество карточек равно 20; это число кратно 5, следовательно  второй студент всегда выигрывает, применяя описанную стратегию (она же - алгоритм).
89539123898
4,7(40 оценок)

program temperature;

var day: integer;

  current, sum: real;

begin

  sum : = 0;

  for day : = 1 to 7 do

  begin

    read(current);

    sum : = sum + current;

  end;

  writeln(sum / 7);

end.

Популярно: Информатика