Есть ответ 👍

Два игрока играют в следующую игру. перед ними лежат две кучки камней, в первой из которых 3 камня, а во второй - 2 камня. у каждого игрока неограниченно много камней. игроки ходят по очереди. ход состоит в том, что игрок или увеличивает в 3 раза число камней в какой-то куче, или добавляет 1 камень в какую-то кучу. выигрывает игрок, после хода которого общее число камней в двух кучах становится не менее 16. кто выигрывает при безошибочной игре - игрок, делающий первый ход, или игрок, делающий второй ход? каким должен быть первый ход выигрывающего игрока? ответ обоснуйте.

257
452
Посмотреть ответы 2

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

pro62
4,7(97 оценок)

пусть первый игрок ходит первым, а второй - вторым. для выигрыша первому игроку необходимо первым делом добавить один камень к кучке, где лежат 2 камня. в таком случае будет две кучки по 3 камня в каждой. теперь самая оптимальная тактика для выигрыша второго игрока - добавить 1 камень к любой из кучке (если он умножит кол-во камней на 3, то в итоге, в кучке будет 9 камней, что запросто даст выиграть первому игроку). теперь в одной кучке 3 камня, а во второй - 4. теперь для первого игрока самая оптимальная тактика - добавить один камень в кучку, где находится 3 камня (4: 4), второй игрок сможет только добавить один камень в любую из кучек (4: 5), первому игроку опять же выгодно добавить камень в кучку, где лежит 4 камня (5: 5), где второму игроку уже не важно, какое действие выполнять. в любом случае он проиграет, так как если он добавит один камень, то первому игроку останется умножить кол-во камней в той кучке на 3.

обобщим:

для выигрыша, игроку, делающему первый ход, необходимо добавлять по одному камню в кучку, где находится меньшее количество камней. во всех иных случаях, при оптимальной игре, выигрывает игрок, походивший вторым.

Tigrmigr
4,7(68 оценок)

program trash;

var

n, count, i: integer;

s, d, num: double;

begin

writeln('n, d: ');

readln(n, d);

for i: =1 to n do

begin

readln(num);

if num< d then

begin

s: = s + num;

inc(count);

end;

end;

writeln('кол-во, сумма: ', count, ' ', s);

end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

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

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS