Есть ответ 👍

Решить логическую ! ербол и максим*, любители сладкого, по очереди ломают шоколадку размером а×в долек. за ход разрешается сделать прямолинейный разлом любого из кусков вдоль углубления. проигрывает тот, кто не сможет сделать ход. кто выиграет в этой игре, если ербол делает первый ход? ответ обоснуйте

184
242
Посмотреть ответы 2

Ответы на вопрос:

snsn
4,8(15 оценок)

Предположим, что  максим и ербол играют по оптимальной стратегии. для удобства введем два понятия: выигрышная позиция и проигрышная позиция. выигрышная - это  позиция,  которая приводит игрока, ходившего с нее, к выигрышу. проигрышная - это позиция, которая приводит игрока, ходившего с нее, к проигрышу. также выигрышная  позиция - это позиция,  ведущая противника к проигрышной. и наоборот, проигрышная позиция - это позиция, ведущая противника к выигрышной. вести понятия будем относительно ербола. рассмотрим все возможные варианты размера шоколадки: 1x1 - lose. позиция проигрышная, т.к. ербол не сможет сделать ход. 1xn,  n > 1  - win. все позиции вида такого вида  выигрышные, т.к. приводят к проигрышной позиции 1x1. 2x2 - lose. позиция проигрышная, т.к. приводит противника  к выигрышной позиции 1xn. 2xn - win. все позицию такого вида  выигрышные, т.к. приводят противника к проигрышной позиции 2x2. 3x3 - lose. позиция проигрышная, т.к. приводит противника к выигрышной позиции 2xn или 1xn. 3xn - win. все позицию такого вида  выигрышные, т.к. приводят противника к проигрышной позиции 3x3. отсюда несложно заметить, что позиции вида nxn - проигрышные, а остальные - выигрышные. ответ: если a = b, то выиграет максим, иначе выиграет ербол
Danilkal12
4,8(84 оценок)

Ответ будет 50 таких точек.   если хочешь проверь. #include < iostream> using namespace std; void main() {       setlocale(null, "russian");       int a[6] = { 3, 6, 5, 2, 1, 4 },             b[6] = { 3, 1, 5, 6, 2, 4 },             i = 1,             j = 3,             sum = 0;       for (int z = 0; z < 100; z++){             i = a[i - 1];             j = b[j - 1];             if (i < = 4 & & j < = 4)                   sum++;       }       cout < < sum < < endl;       system("pause"); };

Популярно: Информатика