Зная, что изначально в куче было S камней, для победы нужно получить не менее 32, рассмотрим все возможные ходы Пети, при которых он не выиграет. Чтобы Петя не выиграл, после любого его хода в куче должно получиться меньше 32 камней.
Действие А) S+1<32, тогда S<32-1=31
Действие Б) 3*S+1<32, тогда S<(32-1)/3=11
А теперь распишем ходы Вани. Чтобы точно победить, Ване нужно действовать так, чтобы получить максимальный результат - из двух действий максимальный дает действие Б. После его хода в куче должно стать или 32 камня, или больше.
Действие А) 3*(S+1)+1=3*S+4>=32, тогда S>=(32-4)/3=10
Действие Б) 3*(3*S+1)+1=9*S+4>=32, тогда S>=(32-4)/9=4
Таким образом мы понимаем, что нужное для Ваниной победы первым ходом число S должно должно лежать в диапазоне от 4 до 31, тогда минимальным подходящим будет 4. Проверим:
Случай 1. Петя ходит действием А. 4+1=5. Ваня ходит действием Б. 5*3+1=16. Ваня не выиграл.
Случай 2. Петя ходит действием Б. 3*4+1=13. Ваня ходит действием Б. 13*3=39. Ваня выиграл.
Несмотря на то, что если Петя пойдет действием А, Ваня не выиграет, его победа всё равно возможна, если тот пойдет действием Б. А нас именно о случае, когда она возможна, и спрашивают.
Чтобы убедиться в верности рассуждений, проверим, нельзя ли взять еще меньшее число - 3:
Случай 1. Петя ходит действием А. 3+1=4. Ваня ходит действием Б. 3*4+1=13. Ваня не выиграл.
Случай 2. Петя ходит действием Б. 3*3+1=10. Ваня ходит действием Б. 3+10+1=31. Ваня не выиграл.
Таким образом, мы выяснили, что минимальным начальным количеством камней, когда возможна победа Вани первым ходом, является 4.
Если х1,у1 - координаты одного конца 1-го отрезка, х2,у2 - координаты его второго конца, то уравнение прямой, на которой этот отрезок лежит, такое: у=у1+(у2-у1)(х-х1)/(х2-х1). Для второго отрезка (х3,у3) и (х4,у4), прямая у=у3+(у4-у3)(х-х3)/(х4-х3). Абсцисса точки пересечения (х,у) этих прямых находится из равенства
у1+(у2-у1)(х-х1)/(х2-х1)=у3+(у4-у3)(х-х3)/(х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.
Схема программы: 1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует". 2) проверка выполнения двух двойных неравенств: x1 <= x <= x2, x2 <= x <= x4. Если оба неравенства "истина", то ответ "существует", иначе "не существует"
Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.
4
Объяснение:
Зная, что изначально в куче было S камней, для победы нужно получить не менее 32, рассмотрим все возможные ходы Пети, при которых он не выиграет. Чтобы Петя не выиграл, после любого его хода в куче должно получиться меньше 32 камней.
Действие А) S+1<32, тогда S<32-1=31
Действие Б) 3*S+1<32, тогда S<(32-1)/3=11
А теперь распишем ходы Вани. Чтобы точно победить, Ване нужно действовать так, чтобы получить максимальный результат - из двух действий максимальный дает действие Б. После его хода в куче должно стать или 32 камня, или больше.
Действие А) 3*(S+1)+1=3*S+4>=32, тогда S>=(32-4)/3=10
Действие Б) 3*(3*S+1)+1=9*S+4>=32, тогда S>=(32-4)/9=4
Таким образом мы понимаем, что нужное для Ваниной победы первым ходом число S должно должно лежать в диапазоне от 4 до 31, тогда минимальным подходящим будет 4. Проверим:
Случай 1. Петя ходит действием А. 4+1=5. Ваня ходит действием Б. 5*3+1=16. Ваня не выиграл.
Случай 2. Петя ходит действием Б. 3*4+1=13. Ваня ходит действием Б. 13*3=39. Ваня выиграл.
Несмотря на то, что если Петя пойдет действием А, Ваня не выиграет, его победа всё равно возможна, если тот пойдет действием Б. А нас именно о случае, когда она возможна, и спрашивают.
Чтобы убедиться в верности рассуждений, проверим, нельзя ли взять еще меньшее число - 3:
Случай 1. Петя ходит действием А. 3+1=4. Ваня ходит действием Б. 3*4+1=13. Ваня не выиграл.
Случай 2. Петя ходит действием Б. 3*3+1=10. Ваня ходит действием Б. 3+10+1=31. Ваня не выиграл.
Таким образом, мы выяснили, что минимальным начальным количеством камней, когда возможна победа Вани первым ходом, является 4.
Для второго отрезка (х3,у3) и (х4,у4), прямая у=у3+(у4-у3)(х-х3)/(х4-х3).
Абсцисса точки пересечения (х,у) этих прямых находится из равенства
у1+(у2-у1)(х-х1)/(х2-х1)=у3+(у4-у3)(х-х3)/(х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.
Схема программы:
1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует".
2) проверка выполнения двух двойных неравенств: x1 <= x <= x2, x2 <= x <= x4.
Если оба неравенства "истина", то ответ "существует", иначе "не существует"
Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.