Каждый из десяти населенных пунктов соединен автодорогами с девятью другими(без проезда на промежуточные пункты). При этом автобусное сообщение существует
Попытка поиска выигрышной стратегии может быть сделана при метода, получившего название "бэкрекинг" (backtracking - обратное прослеживание). Рассматриваем финальную позицию для второго студента. У него должно оставаться от 1 до 4 карточек, чтобы он мог их все забрать и не оставить карточек первому студенту. Следовательно, у первого студента должно быть ровно 5 карточек. Забрав от 1 до 4 карточек, он оставит второму студенту как раз требуемое количество карточек. Чтобы у первого студента осталось 5 карточек, второй студент должен иметь от 6 до 9 карточек, т.е. первый студент для этого должен делать выбор из 10 карточек. И так далее. Выигрышная стратегия второго студента состоит в том, чтобы предоставлять первому студенту количество карточек, кратное 5. Но исходное количество карточек равно 20; это число кратно 5, следовательно второй студент всегда выигрывает, применяя описанную стратегию (она же - алгоритм).
Var h1,h2:integer; n1,n2:string; begin Write('Введите имя первой девочки: '); Readln(n1); Write('Введите рост первой девочки: '); Readln(h1); Write('Введите имя второй девочки: '); Readln(n2); Write('Введите рост второй девочки: '); Readln(h2); if h1>h2 then Writeln(n1,' выше, чем ',n2) else if h2>h1 then Writeln(n2,' выше, чем ',n1) else Writeln(n1,' и ',n2,' одного роста') end.
Тестовое решение: Введите имя первой девочки: Наташа Введите рост первой девочки: 163 Введите имя второй девочки: Даша Введите рост второй девочки: 167 Даша выше, чем Наташа
Блок-схема дана во вложении. Блоки ввода вывода упрощены в связи с невозможностью (и ненужностью) точно отобразить вид ввода и вывода.
Рассматриваем финальную позицию для второго студента. У него должно оставаться от 1 до 4 карточек, чтобы он мог их все забрать и не оставить карточек первому студенту. Следовательно, у первого студента должно быть ровно 5 карточек. Забрав от 1 до 4 карточек, он оставит второму студенту как раз требуемое количество карточек.
Чтобы у первого студента осталось 5 карточек, второй студент должен иметь от 6 до 9 карточек, т.е. первый студент для этого должен делать выбор из 10 карточек.
И так далее. Выигрышная стратегия второго студента состоит в том, чтобы предоставлять первому студенту количество карточек, кратное 5.
Но исходное количество карточек равно 20; это число кратно 5, следовательно второй студент всегда выигрывает, применяя описанную стратегию (она же - алгоритм).