Олимпиадные задачи по теме «Теория алгоритмов» - сложность 2-3 с решениями
Теория алгоритмов
НазадДва фокусника показывают зрителю такой фокус. У зрителя есть 24 карточки, пронумерованные числами от 1 до 24. Он выбирает из них 13 карточек и передаёт первому фокуснику. Тот возвращает зрителю две из них. Зритель добавляет к этим двум одну из оставшихся у него 11 карточек и, перемешав, передаёт эти три карточки второму фокуснику. Каким образом фокусники могут договориться так, чтобы второй всегда с гарантией мог определить, какую из трёх карточек добавил зритель?
Известно, что среди 63 монет есть 7 фальшивых. Все фальшивые монеты весят одинаково, все настоящие монеты также весят одинаково, и фальшивая монета легче настоящей. Как за три взвешивания на чашечных весах без гирь определить 7 настоящих монет?
Лиса Алиса и кот Базилио вырастили на дереве 20 фальшивых купюр и теперь вписывают в них семизначные номера. На каждой купюре есть 7 пустых клеток для цифр. Базилио называет по одной цифре "1" или "2" (других он не знает), а Алиса вписывает названную цифру в любую свободную клетку любой купюры и показывает результат Базилио. Когда все клетки заполнены, Базилио берет себе как можно больше купюр с разными номерами (из нескольких с одинаковым номером он берет лишь одну), а остаток забирает Алиса. Какое наибольшее количество купюр может получить Базилио, как бы ни действовала Алиса?
Перед гномом лежат три кучки бриллиантов: 17, 21 и 27 штук. В одной из кучек лежит один фальшивый бриллиант. Все бриллианты имеют одинаковый вид, все настоящие бриллианты весят одинаково, а фальшивый отличается от них по весу. У гнома есть чашечные весы без гирь. Гному надо за одно взвешивание найти кучку, в которой все бриллианты настоящие. Как это сделать?
Под ёлкой лежат 2012 шишек. Винни-Пух и ослик Иа-Иа играют в игру: по очереди берут себе шишки. Своим ходом Винни-Пух берёт одну или четыре шишки, а Иа-Иа – одну или три. Первым ходит Пух. Проигравшим считается тот, у кого нет хода. Кто из игроков сможет гарантированно победить, как бы ни играл соперник?
Чичиков играет с Ноздрёвым. Сначала Ноздрёв раскладывает 1001 орех по трём коробочкам. Посмотрев на раскладку, Чичиков называет любое целое число <i>N</i> от 1 до 1001. Далее Ноздрёв должен переложить, если надо, один или несколько орехов в пустую четвёртую коробочку и предъявить Чичикову одну или несколько коробочек, где в сумме ровно <i>N</i> орехов. В результате Чичиков получит столько мертвых душ, сколько орехов переложил Ноздрёв. Какое наибольшее число душ может гарантировать себе Чичиков, как бы ни играл Ноздрёв?
Чичиков играет с Ноздрёвым. Сначала Ноздрёв раскладывает 222 ореха по двум коробочкам. Посмотрев на раскладку, Чичиков называет любое целое число <i>N</i> от 1 до 222. Далее Ноздрёв должен переложить, если надо, один или несколько орехов в пустую третью коробочку и предъявить Чичикову одну или две коробочки, где в сумме ровно <i>N</i> орехов. В результате Чичиков получит столько мертвых душ, сколько орехов переложил Ноздрёв. Какое наибольшее число душ может гарантировать себе Чичиков, как бы ни играл Ноздрёв.
Из 239 неотличимых на вид монет две – одинаковые фальшивые, а остальные – одинаковые настоящие, отличающиеся от фальшивых по весу. Как за три взвешивания на чашечных весах без гирь выяснить, какая монета тяжелее – фальшивая или настоящая? Сами фальшивые монеты находить не нужно.
Говорящие весы произносят вес, округлив его до целого числа килограммов (по правилам округления: если дробная часть меньше 0,5, то число округляется вниз, а иначе – вверх; например, 3,5 округляется до 4). Вася утверждает, что, взвешиваясь на этих весах с одинаковыми бутылками, он получил такие ответы весов:<div align="center"><img src="/storage/problem-media/116812/problem_116812_img_2.gif"></div> Могло ли такое быть?
На окружности отмечено 2<i>n</i> + 1 точек, делящих её на равные дуги (<i>n</i> ≥ 2). Двое по очереди стирают по одной точке. Если после хода игрока все треугольники с вершинами в ещё отмеченных точках – тупоугольные, он выигрывает, и игра заканчивается. Кто выиграет при правильной игре: начинающий игру или его противник?
Банк обслуживает миллион клиентов, список которых известен Остапу Бендеру. У каждого есть свой PIN-код из шести цифр, у разных клиентов коды разные. Остап Бендер за один ход может выбрать любого клиента, которого он еще не выбирал, и подсмотреть у него цифры кода на любых <i>N</i> позициях (у разных клиентов он может выбирать разные позиции). Остап хочет узнать код миллионера Корейко. При каком наименьшем <i>N</i> он гарантированно сможет это сделать?
Белая ладья стоит на поле b2 шахматной доски 8×8, а чёрная – на поле c4. Игроки ходят по очереди, каждый – своей ладьей, начинают белые. Запрещается ставить свою ладью под бой другой ладьи, а также на поле, где уже побывала какая-нибудь ладья. Тот, кто не может сделать ход, проигрывает. Кто из игроков может обеспечить себе победу, как бы ни играл другой? (За ход ладья сдвигается по горизонтали или вертикали на любое число клеток, и считается, что она побывала только в начальной и конечной клетках этого хода.)
Имеются 100 камней разного веса (одинаковых нет), к каждому приклеена этикетка с указанием его веса. Хулиган Гриша хочет переклеить этикетки так, чтобы общий вес любого набора с числом камней от 1 до 99 отличался от суммы весов, указанных на этикетках из этого набора. Всегда ли он может это сделать?
На столе лежит куча из более чем <i>n</i>² камней. Петя и Вася по очереди берут камни из кучи, первым берёт Петя. За один ход можно брать любое простое число камней, меньшее <i>n</i>, либо любое кратное <i>n</i> число камней, либо один камень. Докажите, что Петя может действовать так, чтобы взять последний камень независимо от действий Васи.
Победив Кащея, потребовал Иван золота, чтобы выкупить Василису у разбойников. Привёл его Кащей в пещеру и сказал: "В сундуке лежат золотые слитки. Но просто так их унести нельзя: они заколдованы. Переложи себе в суму один или несколько. Потом я переложу из сумы в сундук один или несколько, но обязательно другое число. Так мы будем по очереди перекладывать их: ты в суму, я в сундук, каждый раз новое число. Когда новое перекладывание станет невозможным, сможешь унести свою суму со слитками". Какое наибольшее число слитков может унести Иван, как бы ни действовал Кащей, если в сундуке исходно лежит а) 13; б) 14 золотых слитков? Как ему это сделать?
Даны 11 гирь разного веса (одинаковых нет), каждая весит целое число граммов. Известно, что как ни разложить гири (все или часть) на две чаши, чтобы гирь на них было не поровну, всегда перевесит чаша, на которой гирь больше. Докажите, что хотя бы одна из гирь весит более 35 граммов.
Имеется 200 гирек массами 1, 2, ..., 200 грамм. Их разложили на две чаши весов по 100 гирек на каждую, и весы оказались в равновесии. На каждой гирьке записали, сколько гирек на противоположной чаше легче неё. Докажите, что сумма чисел, записанных на гирьках левой чаши, равна сумме чисел, записанных на гирьках правой чаши.
100 пиратов сыграли в карты на золотой песок, а потом каждый посчитал, сколько он в сумме выиграл либо проиграл. У каждого проигравшего хватает золота, чтобы расплатиться. За одну операцию пират может либо раздать всем поровну золота, либо получить с каждого поровну золота. Докажите, что можно за несколько таких операций добиться того, чтобы каждый получил (в сумме) свой выигрыш либо выплатил проигрыш. (Разумеется, общая сумма выигрышей равна сумме проигрышей.)
На клетчатой доске из 2012 строк и <i>k</i> > 2 столбцов в какой-то клетке самого левого столбца стоит фишка. Двое ходят по очереди, за ход можно передвинуть фишку вправо, вверх или вниз на одну клетку, при этом нельзя передвигать фишку на клетку, в которой она уже побывала. Игра заканчивается, как только один из игроков передвинет фишку в самый правый столбец. Но будет ли такой игрок выигравшим или проигравшим – сообщается игрокам только в тот момент, когда фишка попадает в предпоследний столбец (второй справа). Может ли один из игроков обеспечить себе выигрыш?
Саша пишет на доске последовательность натуральных чисел. Первое число <i>N</i> > 1 написано заранее. Новые натуральные числа он получает так: вычитает из последнего записанного числа или прибавляет к нему любой его делитель, больший 1. При любом ли натуральном <i>N</i> > 1 Саша сможет написать на доске в какой-то момент число 2011?
На дверце сейфа написано произведение степеней<i>a</i><sup><i>n</i></sup><i>b</i><sup><i>m</i></sup><i>c</i><sup><i>k</i></sup>. Чтобы дверца открылась, надо заменить каждую из шести букв натуральным числом так, чтобы в произведении получился куб натурального числа. Пинки, не подумав, уже заменил какие-то три буквы числами. Всегда ли Брейн сможет заменить три оставшиеся, чтобы дверца открылась?
Два пирата делили добычу, состоящую из пяти золотых слитков, масса одного из которых 1 кг, а другого – 2 кг. Какую массу могли иметь три других слитка, если известно, что какие бы два слитка ни выбрал себе первый пират, второй пират сможет так разделить оставшиеся слитки, чтобы каждому из них досталось золота поровну?
Есть 40 гирек массой 1 г, 2 г, ..., 40 г. Из них выбрали 10 гирь чётной массы и положили на левую чашу весов. Затем выбрали 10 гирь нечётной массы и положили на правую чашу весов. Весы оказались в равновесии. Докажите, что на какой-нибудь чаше есть две гири с разностью масс в 20 г.
Дракон запер в пещере шестерых гномов и сказал: "У меня есть семь колпаков семи цветов радуги. Завтра утром я завяжу вам глаза и надену на каждого по колпаку, а один колпак спрячу. Затем сниму повязки, и вы сможете увидеть колпаки на головах у других, но общаться я вам уже не позволю. После этого каждый втайне от других скажет мне цвет спрятанного колпака. Если угадают хотя бы трое, всех отпущу. Если меньше – съем на обед". Как гномам заранее договориться действовать, чтобы спастись?
Два мага сражаются друг с другом. Вначале они оба парят над морем на высоте 100 метров. Маги по очереди применяют заклинания вида "уменьшить высоту парения над морем на <i>a</i> метров у себя и на <i>b</i> метров у соперника", где <i>a, b</i> – действительные числа, 0 < <i>a</i> < <i>b</i>. Набор заклинаний у магов один и тот же, их можно использовать в любом порядке и неоднократно. Маг выигрывает дуэль, если после чьего-либо хода его высота над морем будет положительна, а у соперника – нет. Существует ли такой набор заклинаний, что второй маг может гарантированно выиграть (как бы ни действовал первый), если при этом число заклинаний в наборе
а) конечно; б) бесконечно?