ответ:Дерево игры - в прилагаемом файле. У игрока, делающего ход первым (Пети) есть выигрышная стратегия: первый ход должен быть +3 (в куче получится 13 камней). В этом случае при ходе второго игрока (Вани) +3 (в куче 16 камней) первый (Петя) выигрывает ходом *2 (в куче 32 камня); при ходе второго игрока (Вани) *2 (в куче 26 камней) первый (Петя) также выигрывает ходом *2 (в куче 52 камня). Второй игрок (Ваня) может выиграть только в случае, если первый (Петя) сделает начальный ход *2 (в куче 20 камней), следующий ход (Вани) *2 (в куче 40 камней) приводит к выигрышу.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const int n = 5;
double a[n][n];
double m1, m2;
srand(time(0));
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
a[i][j]=-20 + (101.0 / RAND_MAX) * rand();
cout << fixed << setw (7) << setprecision (2) << a[i][j];
}
cout <<endl;
}
m1=a[0][0];
m2=a[0][n-1];
for (int i = 1; i < n; i++){
if (a[i][i]>m1) m1=a[i][i];
if (a[i][n-i-1]>m2) m2=a[i][n-i-1];
}
cout << "m1=" << m1 << " m2=" << m2 << endl;
}
37.11 71.19 25.77 53.53 35.74
39.90 63.69 11.67 70.38 -4.10
64.46 52.37 35.03 42.58 69.18
44.22 8.46 13.23 71.17 3.10
6.83 65.07 75.24 21.61 37.22
m1=71.17 m2=70.38
ответ:Дерево игры - в прилагаемом файле. У игрока, делающего ход первым (Пети) есть выигрышная стратегия: первый ход должен быть +3 (в куче получится 13 камней). В этом случае при ходе второго игрока (Вани) +3 (в куче 16 камней) первый (Петя) выигрывает ходом *2 (в куче 32 камня); при ходе второго игрока (Вани) *2 (в куче 26 камней) первый (Петя) также выигрывает ходом *2 (в куче 52 камня). Второй игрок (Ваня) может выиграть только в случае, если первый (Петя) сделает начальный ход *2 (в куче 20 камней), следующий ход (Вани) *2 (в куче 40 камней) приводит к выигрышу.