Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) два камня или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 44. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую позицию, что в кучах всего будет 44 или больше камней.
В начальный момент в первой куче было 5 камней, во второй куче – S камней; 1 ≤ S ≤ 38.
При каких S: 1 а) Петя выигрывает первым ходом;
б) Ваня выигрывает первым ходом?
2. Назовите одно любое значение S, при котором Петя может выиграть своим вторым ходом.
3. Назовите значение S, при котором Ваня выигрывает своим первым или вторым ходом.
#include <iostream>
#include <cmath>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int close = -1; //значение для прекращения ввода массива
int table[250]; //масив первый
int tableRevers[500]; //массив для преобразования
int input; //ввод
int i = 0; //для счета кол-ва элементов
int y = 0; //для заполнения
cout << "To close enter: " << close << endl; //уведомление
while(cin >> input, input != close) //заполняем массив
{
table[i] = input;
i++;
}
for(int t = 0; i * 2 > t; t = t + 2) //делаем измененный массив
{
tableRevers[t] = table[y];
tableRevers[t + 1] = table[y];
y++;
}
for(int t = 0; i * 2 > t; t++) //выводис измененный массив
{
cout << endl << tableRevers[t];
}
return 0;
}
begin
var n := ReadlnInteger('N=');
var R := new integer[n];
repeat
var a := ReadlnString.ToCharArray;
if a.Length <> N then break;
if a.Where(c -> c = '+').Count = 1 then
Inc(R[a.IndexOf('+')])
until False;
R.Transform(t -> t >= 0.07 * N ? 1 : 0);
R.Numerate.Where(t -> t[1] = 1).Select(t -> t[0]).Println
end.
Пример(окончание ввода - строка длины отличной от N)
N= 5
-+---
--+--
-+---
+
-+---
--+--
-+---
+
+
-+---
1 2 3 5