suminjenya
05.02.2022 04:51

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 6 камней, а в другой 8 камней; такую позицию мы будем обозначать (6, 8). За один ход из позиции (6, 8) можно получить любую из четырёх позиций: (7, 8), (12, 8), (6, 9), (6, 16). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 55. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 55 или больше камней.
В начальный момент в первой куче было 13 камней, во второй куче – S камней, 1 ≤ S ≤ 41.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по ней игрока, которые не являются для него безусловно выигрышными, то есть не гарантируют выигрыш независимо от игры противника.

Укажите такое значение S, при котором у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и при этом у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). В узлах дерева указывайте игровые позиции. Дерево не должно содержать партий, невозможных при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не будет верным ответом на это задание.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
tyuliganova
21.01.2021 16:14
Перевод целого числа из десятичной системы счисления в систему с другим основанием делается путем последовательного целочисленного деления числа на основание системы с запоминанием остатков. Практика показывает, что если надо сделать перевод десятичного числа в системы по основанию 16, 8 и 2, то наименьшие трудозатраты получаются, когда перевод начинают с шестнадцатиричной системы, поскольку количество делений получается минимальным.
600 / 16 = 37 и остаток 8.
37 / 16 = 2 и остаток 5
Выписываем числа в обратном порядке, получаем 258.
Итак, 600 (10) = 258 (16).
Для перехода к двоичной системе каждую цифру шестнадцатиричного числа записываем в виде 4х разрядного двоичного числа (тетрады):
258 (16) = 0010 0101 1000 (2) или просто 1001011000 (незначащие нули опускаем).
Для перехода к восьмеричной системе разбиваем справа налево двоичный код на триады (т.е. по три двоичных разряда) и каждую триаду заменяем восьмеричной цифрой.
1001011000 (2) = 1 001 011 000 (2) = 1130 (8)
0,0(0 оценок)
Ответ:
lenawer
21.01.2021 16:14

Я вот тоже Вышел порешать =).

var p: array [1..1000] of record

slovo:string;

k:integer;

end;

N,i,j,max:integer;

c:char;

a:array [97..122] of integer;

BEGIN

max:=0;

readln(N);

for i:=1 to N do

begin

p[i].slovo:='';

repeat

read(c);

p[i].slovo:=p[i].slovo+c

until c=' ';

readln(p[i].k);

for j:=1 to length(p[i].slovo) do

if (ord(p[i].slovo[j])>=97) and (ord(p[i].slovo[j])<=122) then

a[ord(p[i].slovo[j])]:=a[ord(p[i].slovo[j])]+p[i].k;

end;

for j:=97 to 122 do

if a[j]>max then

max:=a[j];

write(max);

end.

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