О задачах, головоломках и сайте braingamesВ бытность студентом 2 курса университета аэрокосмического приборостроения, одним прекрасным зимним вечером я со своими одногруппниками весело проводили время с алкоголем. И разговор зашел о различных задачках. Мой друг предложил нам для решения следующую (довольно глупую, на мой взгляд) задачу. У нее есть много вариаций, например такая:
Выявить закономерность и найти недостающее значение:
8809 = 6
7111 = 0
2172 = 0
6666 = 4
1111 = 0
3213 = 0
7662 = 2
2581 = ?
Не помню, решили мы ее тогда или нет, однако сама тема меня зацепила.
Утром, по дороге домой, я все время думал о ней. И мне хотелось еще. Небольшое гугление привело меня на сайт braingames.ru. Ответов на задачи там не было, поэтому я зарегился и начал решать. Задачи были с разным весом (сложностью), от 1 балла до 5. Вес присваивался на основании процента людей, решивших задачу, от общего количества пользователей. Также были задачи с весом 0, но они не представляли большого интереса, т.к. в большинстве своем это были загадки или для решения требовались специальные знания, отличные от школьных.
Также имелся рейтинг, который представлял собой сумму весов решенных задач.
Задачи с весом 1 давались не очень трудно, некоторые из них мне уже встречались в какой-то другой вариации. Я хорошо помню момент, когда я впал в ступор от следующей физической задачи, которая имела вес 3 (сейчас упал до 1).
Цитата
Медведь массой 500 кг упал с высоты 5 метров, при этом его потенциальная энергия уменьшилась на 24575 Джоулей. Какого он цвета?
Лол, что это за бред? Каким образом цвет медведя связан с массой, высотой и энергией?
Однако хорошенько подумав, я смог ее решить и это было переломным моментом. Мне очень понравилась идея, я впервые ощутил огромный кайф от решения. Пути назад не было - ведь впереди еще несколько сотен задач, и каждая из них может дать такое же ощущение.
Я попытался познакомить со своим новым хобби одногруппников, однако большинству из них это было абсолютно неинтересно. Для меня это было очень странно - от красивого решения, от внезапного озарения в стиле доктора Хауса испытываешь огромное удовольствие, а люди даже не хотят попробовать. Впрочем, один из ребят заинтересовался и тоже приобщился к решению задач на сайте.
Пару раз он приезжал ко мне в гости и мы вместе решали задачи. Было много троллинга, когда кто-то решил задачу Х, а другой еще нет. Одну сложную задачу весом 5 мы решали пару дней и пропустили несколько пар из-за этого. Почти все время мы увлеченно обсуждали какие-то варианты решения и различные вопросы, связанные с этим, что дико раздражало остальных одногруппников, которые были рядом.
Одну из задач (см. в конце поста, п.1) мы безуспешно пытались решить прямо на практике по теории вероятностей вместе с преподавателем.
Другую задачу (п.2) я решил, найдя красивый ответ, во время ночной смены, когда работал грузчиком в службе бортового питания аэропорта "Пулково". Я с нетерпением ожидал конца смены, лишь бы поскорее вернуться домой и написать ответ. Звучит глупо, но мне было даже немного обидно, когда мне зачли ответ, даже не похвалив за терпение и гениальность
Также было замечено, что задачи очень хорошо решаются в душе или перед сном. Потом я прочитал на форуме, что я не один такой и многие другие игроки с сайта испытывали подобное.
На сайт была добавлена спонсорская покерная задача. Она не требовала специальных знаний (и была до нельзя глупой), однако она выполнила свою цель - я познакомился с игрой и даже начал немного играть на фантики на PartyPoker. Сама задача:
Представьте, что вы играете в техасский покер — игру, где пять карт постепенно выкладываются на середину стола лицом вверх. В первом раунде появляются карты: 2, 3, 5, 8, Король. В следующем раунде открыты четыре карты, и тут вы понимаете, что играете с шулером и что карты в колоде располагаются в определенном порядке. Что-то вам подсказывает, что и вы можете угадать пятую карту. Четыре открытые карты: Туз, Туз, 2, 3. Какая карта будет следующей?
Мой рейтинг постепенно рос и у меня появилась мысль стать модератором. Это специальная группа людей с довольно большим рейтингом, которые занимались в том числе и проверкой ответов других пользователей. После небольших раздумий я отправил заявку и был принят. Для меня открылся новый мир. Можно было смотреть эталонные ответы на решенные мной задачи, ответы других пользователей, обсуждать новые задачи в закрытом модераторском разделе форума. Ну и ник поменял цвет - вместо блеклого серого стал темно-золотым :) Кстати, мой одногруппник тоже позднее приобщился к когорте модераторов.
За время моей модераторской активности я проверил более 20 тысяч ответов на задачи. Немыслимая на сегодняшний день цифра (лучше бы изучал программирование). Также добавил на сайт несколько задач и поучаствовал в паре встреч игроков в Питере.
Во время встреч я познакомился с другими игроками и модераторами, многие из которых были математиками/программистами. С одной стороны, мне было приятно видеть, что я могу решать задачи как и они. С другой стороны, было сожаление о том, что я не пошел учиться на мехмат в СПбГУ или любой другой топовый технический вуз Питера (а была очень хорошая возможность, которую я упустил, и о чем я возможно напишу позже). Кто-то из присутствующих там занимался игрой в покер (LHE), что добавило мне интереса к этой игре. Особенно забавно, с высоты моего опыта, выглядит мой вопрос, который я задал одному такому игроку - "Что делать с мелкими карманками на UTG на полном столе в безлимитном холдеме?". Ответ "Выкидываем просто, очень плохая рука" меня искренне удивил.
Постепенно задач, которые я мог решить, становилось все меньше. Уже тогда были задачи, которые я не представлял как решить, так называемые "гробы", которые дико демотивировали. Даже спустя почти 10 лет я не знаю как к ним подступиться. Интерес постепенно снижался, кайфа было меньше, больше времени занимала игра в покер на фантики.
В один прекрасный день мне не зачли решение задачи, которое я считал корректным, и после долгих препираний с проверяющим модератором у меня нехило пригорело. Наверное, это стало последней каплей, после чего я перестал активно решать и проверять задачи. На braingames я заходил все меньше и меньше.
Одновременно с этим мой одногруппник, который решал задачи вместе со мной и тоже играл на фантики на пати, депнул туда тысячу рублей и попробовал играть на реальные деньги. "И что, не страшно? И как там?" - спросил я и на следующий день сделал тоже самое.
Вскоре я наткнулся на pokerstrategy с их бесплатным полтинником и статьями по стратегии игры, зарегил новый аккаунт, начал покорять нл5 и фрироллы на 10к человек. Что было дальше - "совсем другая история" (с)
P.S. Задачи с сайта, которые я упоминал выше и которые мне очень нравятся.
1.
Коробки с именамиЦитата
Подлые оккупанты захватили четырех мегамозгов и сказали, что их соберут вместе, дадут 5 минут на совещание, а дальше будут по одному заводить в комнату, где находятся 4 коробки в линию. В каждой коробке находится имя ровно одного мегамозга, имена всех мегамозгов присутствуют, все имена различны. Их всех по очереди заводят в комнату с коробками. Мегамозг при заходе в комнату должен будет открыть 2 коробки в поисках своего имени. После этого мегамозга выводят через другую дверь и он больше не встречается с остальными до конца испытания. Коробки приводятся в исходное состояние, и заходит следующий мегамозг. Их отпустят только в том случае, если каждый найдет свое имя, иначе все будут казнены. О чем договорились мегамозги и какие у них шансы выжить? Доказательство оптимальности стратегии не требуется.
2.
Цветная окружностьЦитата
Дана окружность, каждая точка которой имеет красный или синий цвет. Докажите, что в нее можно вписать равнобедренный треугольник так, что его вершины окажутся одного цвета.
Здесь надо заметить, что решения с одноцветными дугами не принимаются.
3.
Шоколадка с ядовитой плиткойЦитата
Дана шоколадка, состоящая из N×M плиток (причем плиток как минимум две), плитка в левом нижнем углу ядовитая. Двое по очереди отламывают куски шоколадки и съедают их. За каждый ход игрок выбирает одну из оставшихся плиток, отламывает и съедает ее и все плитки, расположенные не ниже и не левее выбранной. Тот, кто будет вынужден съесть ядовитую плитку, проигрывает. Докажите, что у первого есть выигрышная стратегия.
Эта задача мне очень нравится нестандартной логикой ответа.
P.S.S. Если вы хотите проверить свой ответ на приведенные выше задачи, это можно сделать на сайте или в личном сообщении мне. Чтобы не спойлерить.Ставьте плюсик, если осилили эту портянку и дочитали до этой строки
Спасибо за внимание.
В данной задаче число всех возможных вариантов не очень велико и программа в любом случае решает все быстро. Но вдруг будет подобная задача с намного большим числом вариантов и станет критично время исполнения. В таких случаях важнее не краткость исходного кода, а время выполнения программы. Например, ты сравниваешь все наборы кубиков в самом внутреннем цикле, а можно уже во втором цикле сравнить первый и второй и если условие не выполняется, то третий цикл не вызывается вообще. Далее, в третьем цикле сначала сравниваем второй кубик с третьим и только если условие выполняется сравниваем третий с первым (экономим на одной проверке, которая может вызываться лишние миллионы раз). Ну и наконец самая критичная по времени процедура сравнения кубиков - она вызывается наибольшее к-во раз, есть смысл ее оптимизировать (можно сделать ее быстрее раза в два).