Обновить
25.7

Занимательные задачки

Разминаем мозги

Сначала показывать
Порог рейтинга
Уровень сложности

Пошаговая Formula 1 — игра/задачка на программирование

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.3K

Среди игр на тетрадном листочке из школьной поры была такая Гонки — вы тоже помните? На удивление, похожую игру предлагает в своей старинной книжке Жак Арсак — машина «в пошаговом режиме» мчится по извилистой трассе на целочисленной плоскости — и нужно варьируя вектор скорости умудриться не вылететь — но и доехать не черепашьим шагом.

Задача на основе этой игры добавлена на сайт к новогодним праздникам — вдруг кто‑то устанет от оливье раньше времени :-) Здесь в качестве входных данных вы получаете описание профиля всей трассы целиком — и нужно предложить последовательность ходов которые позволят безопасно проехать весь маршрут притом со средней скоростью не хуже 3 клеток за ход (считая только продольную компоненту скорости).

Чтобы легче было понять принцип (вдруг кто‑то не играл в детстве) — добавлена небольшая демонстрашка, в которой можно управлять прохождением по трассе кликая или тапая в нужные участки экрана.

Честно говоря планировалось что в задаче будет спрашиваться наиболее быстрый маршрут — но составляя её я немного усомнился в собственном решении — поэтому она стала чуточку проще.

Конечно, из‑за того что вся трасса видна сразу, отсутствует интрига — но на днях планируется добавить версию игры в которой нужно играть против HTTP‑сервера — и там «видимость» трассы будет ограниченной, так что если не хватает интриги — просто чуть‑чуть подождите :-)

Кажется, дальше читать нечего

Веселые коалы или ленивые устрицы: квест по блогу Позитива

Время на прочтение2 мин
Количество просмотров1.3K

Друзья! Прошёл год, мы подводим технологические ибэшные и айтишные итоги, как вы, наверное, заметили. И теперь хотим с вами поиграть. Мы приготовили для вас небольшой квест по блогу. Ведь наши статьи – это то, что нас с вами тесно связывает.

🎁 Мы точно знаем, все любят подарки (и не только по праздникам). Первым трем ответившим на все вопросы максимально полно – классные призы! Начнем?

Поиграть и поискать

В новый год с новым хобби

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.8K

Впереди многих из нас ждут длинные январские выходные. Вы уже решили, как проведете свой "мини-отпуск"?

Можно, конечно, потратить время на сплошной релакс и развлечения (ничуть не осуждаю), но для более активных, энергичных и готовых к новым свершениям есть другие альтернативы. Для тех, кто хочется занять себя чем-то не только интересным, но и полезным, тем, что может перерасти в увлекательное хобби, у меня есть предложение. Почему бы не начать новый год со знакомства с новой, увлекательной сферой?

Возможные варианты для рассмотрения довольно разнообразны, начиная от около АйТи-шных тем (робототехника, геймдев, 3D-моделирование и пр.) и заканчивая чем-то совершенно иным (шахматы, рисование, изучение иностранных языков, да хоть вязание крючком :) ).

Сегодня я предлагаю вам рассмотреть один из таких вариантов: сделать первый шаг в увлекательный мир шахмат, мир сражений и захватывающих поединков. Уже в эти новогодние дни вы сможете сразиться в интеллектуальной дуэли со своими друзьями, родственниками или детьми. На самом деле научиться играть в шахматы проще простого. Буквально прочитав данную статью, вы уже научитесь играть. И это не кликбейтное утверждение, это действительно так.

В конце концов, мы же программисты, постоянно осваиваем новые технологии, языки, фреймворки... Освоить шахматы? Что может быть проще? Да, шахматы — это довольно сложная, многоплановая игра, но с простейшими правилами. Научиться играть легко, однако путь шахматного совершенствования и развития долог.

Сделать первый шаг

SQL HowTo: рекурсивные циклы и их контроль (Advent of Code 2024, Day 6: Guard Gallivant)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.9K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

В этой части научимся применять разные условия в зависимости от состояния рекурсивного "цикла" и отлавливать его "зацикливание".

Читать далее

Белый Прямоугольник (классическая задачка вместо приветствия)

Время на прочтение2 мин
Количество просмотров2.2K

Оказывается Хабр доброжелательно предоставляет возможность завести бесплатный «корпоративный» блог для опенсорсного проекта. Какое‑то время назад я подал заявку — и недавно обнаружил что она была удовлетворена. Начинать программисты любят с «тестового» поста, но т.к. речь идёт о публичном пространстве, пусть он будет хоть немного содержательным:)

На сайт CodeAbbey сегодня добавилась задачка про поиск Белого Прямоугольника. Речь идёт о матрице в которой есть чёрные и белые клетки — расставленные достаточно хаотично — и хочется найти прямоугольник без чёрных клеток максимальной площади (со сторонами параллельными сторонам матрицы, конечно).

Про сам сайт мы ещё расскажем в отдельно (иначе зачем блог было заводить) — а сейчас всё же про саму задачку.

И что там про задачку?

SQL HowTo: поиск в словаре и массивах, сортировка «пузырьком» (Advent of Code 2024, Day 5: Print Queue)

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.7K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

В этой части воспользуемся обширными возможностями поиска в массивах и реализуем рекурсивную сортировку «пузырьком».

Читать далее

Как избегать типичных ошибок при встраивании ассемблерных вставок: подборка правил

Время на прочтение5 мин
Количество просмотров5.4K

Ассемблерные вставки, используемые компиляторами GCC и Clang, опосредуют взаимодействие высокоуровневых и низкоуровневых языков программирования. Это тонкая и коварная штука. Многие попадают в расставленные здесь капканы, зачастую совершенно неожиданно для себя. В сущности, ключевое слово asm можно перевести на C и C++ как unsafe. Почти в любых руководствах по встроенному ассемблеру, в том числе, и на ужасной странице ibilio, которая десятилетиями попадает в самый верх поисковой выдачи, неисправимо фигурируют фундаментальные серьёзные ошибки, а примеры в большинстве своём некорректны. Наиболее опасно, что эти примеры обычно приводят к ожидаемым результатам! Ситуация плачевная. Эта статья — не руководство, а подборка элементарных правил, которые помогут вам избежать самых распространённых ошибок либо отловить их при ревью кода.

Здесь мы сосредоточимся сугубо на расширенном, а не на базовом ассемблере, а правила в этих версиях отличаются. На первом пишут любые инструкции, относящиеся к встроенному ассемблеру, с ограничениями или затираемыми. То есть, имеем токен : в обрамлении asm. Базовый ассемблер — тупой инструмент, который используется сравнительно нечасто, в основном в самом верху файла с кодом или в “голых” функциях. Поэтому злоупотребления базовым ассемблером на практике маловероятны.

Читать далее

Утренняя история: праздничный виммельбух для уставших, но не сдавшихся

Время на прочтение2 мин
Количество просмотров15K

Наступало 1 января.

У нас было 4 бутылки минералки, 75 таблеток аспирина, 5 упаковок активированного угля и целое множество средств всех сортов и расцветок, от рассола и мятных капель до шипучек и глицина. А также ведро мороженого, литр томатного сока, ром, ящик пива, термос чая с лимоном и две баночки витаминов. Не то чтобы это был необходимый запас, но если начал его собирать, становится трудно остановиться. Единственное, что вызывало у меня опасение, — приставка.

Читать далее

Как хастлер Гарри, хакер Гермиона и хипстер Рон создали «стартап волшебников»

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6K

Новогодние праздники — отличное время для пересмотра фильмов или перечитывания книг о Гарри Поттере. Под свет елочной гирлянды можно вновь окунуться в магический мир Хогвартса, созданный Джоан Роулинг, вспомнить харизматичных героев и почувствовать восторг от их приключений. Эта новогодняя фантазия на тему, как команда Гарри Поттера иллюстрирует принципы стартапа и какие гаджеты или технологии могли бы появиться в их волшебном мире, развлечет и поднимет настроение.

Читать далее

SQL HowTo: работа с массивами (Advent of Code 2024, Day 4: Ceres Search)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.3K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

В этой части немного поработаем с массивами.

Читать далее

SQL HowTo: «чистые» регулярки (Advent of Code 2024, Day 3: Mull It Over)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.2K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

В этой части будет очень простой код, с чуть-чуть сложным регулярным выражением.

Читать далее

SQL HowTo: логические агрегаты (Advent of Code 2024, Day 2: Red-Nosed Reports)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.8K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

В этой части с решением нам помогут логические агрегаты bool_and/bool_or.

Читать далее

SQL HowTo: регулярные выражения и условная агрегация (Advent of Code 2024, Day 1: Historian Hysteria)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.1K

В этой челлендж-серии статей, начатой, внезапно, с разбора задачи Day 11, попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Читать далее

Ближайшие события

5 наиболее красивых задач с экзамена в Школу Анализа Данных от Яндекса

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров12K

Школа Анализа Данных бесплатный проект дополнительного образования в области Data Science и Big Data, можно сказать в РФ остается лидером по качеству курсов и преподавателей. Такой же уровень ШАД требует и от студентов: абитуриентам нужно пройти 3 этапа вступительных испытаний, где спрашивают математику и алгоритмы. Сам же я занимаюсь подготовкой к ШАД ни один год, поэтому в этой статье хотел бы поделиться своими любимыми задачами со вступительных испытаний разных лет, которые мне кажутся наиболее красивыми.

Задача 1

Найти f^{(319)}(0), если f(x)=\frac{x^2+17}{x^4-5x^2+4}.

Пояснение: то есть просят найти производную 319-го порядка в нуле.

Прежде, чем открывать решение обязательно подумайте самостоятельно!

Читать далее

Сиракузская проблема, идея для решения (часть 1)

Время на прочтение5 мин
Количество просмотров6.1K

Сиракузская проблема - одна из самых странных задач математики, которая имеет школьное представлние, но не школьное решение (которого пока нет). Интересно не в лоб смотреть решение задачи, а посмотреть какие идеи требуются для решения. Рассмотрим несколько таких вариантов для "осязания" потенциального решения, которое может появится когда-нибудь...

Разберемся?

История одной пробки или выгодно ли быть пронырой

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.7K

Удивительная вещь, но в Люксембурге тоже пробки.

Маленькая страна, и после жизни в России, где дорога на работу из Подмосковья в Москву и обратно ежедневно съедала около 3 часов жизни, здесь, казалось, все очень близко: лес — за окном, гигантский торговый центр — через дорогу, бассейн — 7 минут, работа — 15 минут, аэропорт — 25 минут, вокзал — 20 минут, да и вообще, поездка между двумя самыми удаленными точками Люксембурга занимает полтора часа. Но к хорошему привыкаешь очень быстро. Стою в пробке, навигатор показывает добавочных 10 минут, и это никак не входит в мои планы на сегодня. Пытаюсь угадать с полосой. Так, впереди сужение, правая полоса — ремонт. Значит, надо перестраиваться в левую сторону. Правильно? Казалось бы, да, в Москве это правило работает на 100%.

Но не здесь — правая проблемная полоса едет в два раза быстрее. Как так?

Все равно пробка, а значит, есть 10 минут на решение задачи. Разбираемся.

Читать далее

SQL HowTo: агрегация внутри рекурсии (Advent of Code 2024, Day 11: Plutonian Pebbles)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.6K

Сегодня посмотрим на примере задачки из Advent of Code зачем и как можно обойти ошибку aggregate functions are not allowed in a recursive query's recursive term, возникающую при попытке агрегировать какие-то данные внутри шага рекурсии на PostgreSQL — «если нельзя, но очень хочется, то можно».

Читать далее

Головоломки с балансом. Поиск фальшивой монеты (часть 2)

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.2K

В прошлой части я рассказал, как найти одну фальшивую монету среди нескольких, сравнивая вес различных наборов монет и используя наименьшее возможное количество сравнений. Также с помощью дерева решений я проиллюстрировал стратегии решения этой задачи.

В прошлой статье мы остановились на том, что необходимо сформулировать алгоритм выбора сравнений в каждой точке дерева решений для любого N ≥ 3. В статье будет много формул, за что я искренне извиняюсь, но кто сказал, что математика может обходиться без них?

Читать далее

Разбор квиза с HighLoad++ 2024 Москва

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.2K

Привет!

Ранее я писала, что мы подготовили супер приз для участников конференции HighLoad++ 2024 Москва, а именно книгу «Сто лет недосказанности. Квантовая механика для всех в 25 эссе» Алексея Семихатова с подписью автора.

Читать далее

Головоломки с балансом. Поиск фальшивой монеты (часть 1)

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.4K

Недавно я столкнулся с забавными головоломками, связанными с простейшими двухчашечными весами. Как правило, в большей части таких задач используются монеты. Сегодня я расскажу о решении одного типа таких головоломок.

Итак, как найти одну фальшивую монету среди нескольких, сравнивая вес различных наборов монет и используя наименьшее возможное количество сравнений?

Для начала проведём анализ проблемы.

Читать далее

Вклад авторов