Ljshegsyweee
18.10.2020 20:40

47) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Иг-роки ходят по очереди, первый ход делает Петя. За один ход игрок может а) добавить в одну из куч (по своему выбору) два камня или
б) увеличить количество камней в куче в два раза.
Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую пози-цию, что в обеих кучах всего будет 75 камней или больше.
Задание 1. Для каждой из начальных позиций (10, 32), (11, 31) укажите, кто из игроков имеет выигрышную стратегию.
Задание 2. Для каждой из начальных позиций (10, 31), (11,30), (12,30) укажите, кто из игроков имеет выигрышную стратегию.
Задание 3. Для начальной позиции (10,29) укажите, кто из игроков имеет выигрышную страте-гию. Постройте дерево всех партий, возможных при указанной выигрышной стратегии.
С решением

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
tanya1502
23.07.2022 07:29
Program Ulitka;
Var SunnyDay: Array [1..30] Of Boolean;
a, b, c, i: Integer;
Begin
WriteLn('a = ');
ReadLn(a);
WriteLn('b = ');
ReadLn(b);
b := b * 100;
Randomize;
For i := 1 To 30 Do
Begin      
If Random(2) = 1 Then
SunnyDay[i] := True
Else
SunnyDay[i] := False;
End;
For i := 1 To 30 Do
Begin  
If SunnyDay[i] = True
ThenBegin    
a := a + 2;    
If a > b Then    
a := b;  
End  
Else  
Begin   
a := a - 10;    
If a < 0 Then    
a := 0;  End;  
End; WriteLn('Дни месяца были таковы:');
For i := 1 To 30 Do
Begin
If SunnyDay[i] = True Then
WriteLn(i, '. Солнечный')
Else
WriteLn(i, '. Пасмурный')
End;
WriteLn('К концу 30 дня местоположение улитки равно ', a, ' см над землей');
End.
0,0(0 оценок)
Ответ:
Foxer20024
25.12.2022 19:37
Var
    a: array [,] of integer;

begin
    var n := ReadlnInteger('n = ');
    var m := ReadlnInteger('m = ');
    var rand := ReadlnInteger('Для ручного ввода нажмите 0');
    
    if rand = 0 then begin
        a := new integer[m, n];
        for var i := 0 to m-1 do
            for var j := 0 to n-1 do
                a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
    end
    else a := MatrixRandom(m, n, 1, 100);
    Println(a);
    
    var b := ArrGen(n, x -> 1);
    for var i := 0 to m-1 do
        for var j := 0 to n-1 do
            if j mod 2 = 0 then
                b[j] := b[j] * a[i, j];
    
    b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота