Второй игрок выиграет первым ходом в том случае, если первый прибавит ко второй куче 3 или умножит её содержимое на 3, иначе говоря станет больше 7, что предвещает победу на 2-ом ходе игрока №2. Следовательно первый игрок так не пойдёт. Остаётся 2 варинта безошибочных ходов для игрока №1, это прибавить к первой куче 3 или умножить её содержимое на 3, тем самым не дать выиграть оппоненту на 2-ом ходе, и при таком действии №2 не сможет совершить ход, после которого №1 не смог бы превзойти 22. 1;3 ---> №1 3;4 ---> №2 9;4 или 6;4 или 3;7 или 3;12 --> №1 побеждает при умножении сорержимого кучи с большим числом камней на 3 1;3 ---> №1 4;4 ---> №2 7;4 или 12;4 или 4;7 или 4;12 аналогично следующий ход №1 будет выигрышным
#include <iostream>
using namespace std;
int main()
{
//объявление переменных
float xa, ya, xb, yb, ab ;
//ввод переменных
cout<<"Vvedite xa: "<<endl;
cin>>xa;
cout<<"Vvedite ya: "<<endl;
cin>>ya;
cout<<"Vvedite xb: "<<endl;
cin>>xb;
cout<<"Vvedite yb: "<<endl;
cin>>yb;
//расчет длинны отрезка
ab=sqrt(pow(xa-xb,2)+pow(ya-yb,2);
//вывод длины отрезка
cout<<"|AB| = "<<ab<<endl;
system("pause");
return 0;
}